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
transpose in the
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
-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.
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
Testing on Ubuntu 14.04.5 and 16.04 LTS