I'd like to rotate video (mp4) by 180 degrees, but not flip. Is it possible to do it with avconv?
It is possible using the transpose
video filter. You cannot rotate by 180 degrees, but you can rotate by 90 degrees and chain the filter.
avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv
See transpose
in the avconv
manpage:
http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
-
This rotated my video, but the quality drop (resolution and framerate) was massive (iphone .mov file). – Gringo Suave Jan 6 '14 at 21:14
-
1
Yes, but you'll need to add some additional options to your command for it to work properly. Transpose and vflip/hflip should do the trick, but if you don't tell avconv more detail about what you want, you'll likely get very low quality output try:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
Notice the -crf
option. That sets the output quality. It goes from 0 (lossless) upwards logarithmically. You'll probably want a value between 19 and 25 in most cases. -preset
sets the speed of the encoding, either "slow", "medium", or "fast". Slow should get you smaller file sizes with an obvious tradeoff. You should adjust -codec:v
to match the original. If you don't set these options you'll get the defaults, which don't work well when flipping iphone video.
-
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset'
That's what I got – Karel Bílek May 12 '14 at 14:16 -
-
1
Additional method with avconv is to use vflip and hflip filters. Should run faster and maybe better quality:
avconv -i video.mp4 -vf vflip,hflip out.mp4
-
Same: This rotated my video, but the quality drop (resolution and framerate) was massive (iphone .mov file). – Gringo Suave Jan 6 '14 at 21:14
-
1@GringoSuave wcarlson has given you a stripped down example, you still need to add all the -codec:v ... and other tags – v010dya Nov 10 '14 at 18:24
I did this:
avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4
Full HD video, great results with non perceivable quality loss
-
Pure gold for avconv version 11.12-6:11.12-1~deb8u9, except that I desired a 90-degree clockwise rotation, so I replaced
"hflip,vflip"
withtranspose=clock
. – Digger Nov 13 '20 at 16:43
For avconv or ffmpeg Under 14.04 or later
There have been some changes to the libav documentation since @phoibos quality answer to this question. You can rotate a video 180 degrees avoiding flipping entirely by chaining 2 90 degree commands together (separated by a comma) I accomplished this with the command
avconv -i inputfile -vf transpose=clock,transpose=clock outputfile
for clockwise rotation.
in ffmpeg the syntax is the same.
ffmpeg -i inputfile -vf transpose=clock,transpose=clock outputfile
where inputfile is your supported input video file and outputfile is your desired output file.
For counter clockwise rotation replace clock with cclock
Sources:
https://libav.org/avconv.html#transpose
Testing on Ubuntu 14.04.5 and 16.04 LTS
-c:a
copy to the command (just before the output filename). I also found that the second version was indistinguishable quality, but about 50% faster than the chained translate version. – Simon Dec 30 '13 at 15:48