I have a video file. I open it with MediaInfo utility and I can see a video stream in this file having attribute Rotation 90 (along with other attributes such as CodecID, bi
This works with recent FFmpeg:
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4
This will stream copy the bitstreams, so no encoding is performed. Only the metadata of the first video stream (v:0
) is changed here and the player will show the video in a rotated way. (Not all players will support this.)
Additional notes:
If you want to "physically" rotate the video, you have to use the transpose filter. Filtering will require re-encoding, so you will have to remove -c copy
.
If you omit -c copy
, and want to encode instead of only re-muxing, then ffmpeg
will automatically rotate the video if there is any existing rotate metadata. You can disable this behavior with -noautorotate
.