Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Can I rotate (save, reencode) a .mp4 file with ffmpeg?

The only thing I found was on the mailinglist saying -vfilters "rotate=90" but ffmpeg says that "there are no vfilters". I tried -vf, it says there is "no rotate".

If I try to do it in VLC, it simply does not rotate and kills the audio. I'm on a Mac.

FFmpeg version git-svn-r23607, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jun 14 2010 23:52:55 with gcc 4.2.1 (Apple Inc. build 5659)
  configuration: 
  libavutil     50.19. 0 / 50.19. 0
  libavcodec    52.76. 0 / 52.76. 0
  libavformat   52.68. 0 / 52.68. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.20. 0 /  1.20. 0
  libswscale     0.11. 0 /  0.11. 0
Hyper fast Audio and Video encoder
share|improve this question
up vote 4 down vote accepted

Maybe it should be configured with --enable-vfilters before compilation? BTW, mencoder does the job well, but you'll have to reencode the video:

mencoder -oac copy -ovc lavc -vf rotate=1 original.mp4 -o 90_CW_rotated.mp4 mencoder -oac copy -ovc lavc -vf rotate=2 original.mp4 -o 90_CCW_rotated.mp4

share|improve this answer
    
I had vfilters enabled. they just purged the algorithm from the packege, who knows why -_- I fixed it already, thanks. – shox Aug 7 '10 at 18:15

With the current version pulled from SVN, you can rotate video using -vf "transpose=1".
Here's an example:

ffmpeg -vf "transpose=1" -i input.mp4 output.mp4

docs + options for transpose command are here

(here's how I built ffmpeg in case this helps)

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-shared  --disable-mmx --arch=x86_64
make
sudo make install
share|improve this answer
5  
Is there a reason you're disabling MMX? I don't see a point in that. – cookiecaper Jan 27 '11 at 7:26
3  
I had to put the filter after the input for it to work: ffmpeg -i input.mp4 -vf "transpose=1" output.mp4 – Harvey Mar 26 '15 at 13:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .