Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Rotate videos 90 or 180 degrees using ffmpeg
Rotate videos 90 or 180 degrees using ffmpeg.
rem For the transpose parameter you can pass:
rem 0 = 90CounterCLockwise and Vertical Flip (default)
rem 1 = 90Clockwise
rem 2 = 90CounterClockwise
rem 3 = 90Clockwise and Vertical Flip
rem To rotate 180 degrees, instead use "transpose=2,transpose=2"
rem Using -codec:a copy will simply copy the audio instead of reencoding it.
ffmpeg -i in.mp4 -vf "transpose=1" -codec:a copy out.mp4
Copy link

This will re-encode the video, always resulting in a quality loss (though usually imperceptible). Since the MP4 container format supports a "rotation" flag, which most players respect, you can set it for lossless rotation:

ffmpeg -i $INPUTVIDEO -metadata:s:v rotate="-90" -codec copy $OUTPUTVIDEO


OR using exiftool:

exiftool -rotation=270 FILE.mp4


If the player you're using doesn't support this metadata flag, or if you're using another container like mkv, then ffmpeg with -vf transpose=1 is a fine alternative.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment