151

Is there a way to change the rotation angle of a video file?

I have a couple of videos in the wrong direction so all I wanted is to correct it.

0

7 Answers 7

189

You can also use ffmpeg and the commandline (taken from Rotating videos with FFmpeg):

Rotate 90 clockwise:

ffmpeg -i in.mov -vf "transpose=1" out.mov

For the transpose parameter you can pass:

0 = 90CounterCLockwise and Vertical Flip (default) 
1 = 90Clockwise 
2 = 90CounterClockwise 
3 = 90Clockwise and Vertical Flip

And to flip it horizontally (ffmpeg documentation):

Flip the input video horizontally.

For example to horizontally flip the video in input with `ffmpeg':

ffmpeg -i in.avi -vf "hflip" out.avi

Nota bene 1

Older versions of Ubuntu supplied avconv instead of ffmpeg. In this case just change ffmpeg to avconv:

avconv -i in.mov -vf "transpose=1" out.mov

Nota bene 2

If the output is a .mp4 video you has to add strict -2 before the output file to avoid error message :

ffmpeg -i in.mp4 -vf "transpose=1" -strict -2 out.mp4
7
  • 4
    -sameq doesn't mean 'same quality', it is actually a very limited option that is almost never practically useful, and has been removed from recent versions of ffmpeg precisely because its name causes confusion.
    – evilsoup
    Sep 16, 2013 at 9:14
  • @evilsoup thank you for the comment. I've rolled back the changes. However, a better link to provide is this: trac.ffmpeg.org/wiki/…', which is from the ffmpeg site itself.
    – Alaa Ali
    Sep 17, 2013 at 4:29
  • 2
    N.B. that ffmpeg is now deprecated in favour of avconf "*** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use avconv instead." See a the answer for avconv: askubuntu.com/questions/269429/…
    – Sparhawk
    Feb 10, 2014 at 6:50
  • 1
    @Sparhawk You are right --- but it seems that ffmpeg has a chance of doing a comeback. lwn.net/Articles/607591 ;-)
    – Rmano
    Sep 8, 2014 at 9:37
  • 2
    To add to your answer (maybe some people might find this useful): To rotate an x264 video with ffmpeg I had to specify the codec / library explicitly: ffmpeg -i in.mp4 -vcodec libx264 -vf "transpose=2" out.mkv. If it says Unknown encoder libx264, you need to install the appropriate libavcodec-extra package.
    – balu
    Nov 5, 2015 at 14:00
89

If you are asking for rotate a video 90º or 180º, you should use avidemux.

sudo apt-get update
sudo apt-get install avidemux
  1. open the video in avidemux
  2. select a new video format and don't choose copy
  3. Under "Video" click on Filters
    1. Choose "Transform" and scroll down until you see rotate.
    2. Add it
    3. select the right angle
    4. select preview
    5. ok.
  4. Go to file
  5. save
  6. save video

And you're done.

9
  • 4
    Not sure what video format i should choose? Can i keep original video format?
    – Dziamid
    Dec 4, 2012 at 9:47
  • 1
    I have rotated videos (.MOV) in Windows XP, using Apple Quicktime Pro ("QTP"). If done correctly the file remains rotated for other Windows machines and on my wife's iMac, but appears unrotated in Dragon Player ("DP") using Kubuntu 12.04.1. DP doesn't claim to be more than a "Simple" player, but I suspect that the problem is that QTP rotates files in a way that is accessible only in QT. Does Avidemux do better?
    – WGCman
    Dec 9, 2012 at 12:14
  • 3
    What does "select a new video format and don't choose copy" mean, exactly?
    – Jeff Trull
    Jul 6, 2014 at 4:57
  • 2
    Echoing @JeffTrull, can you elaborate on the steps? I found that 'Click on Filters' means 'Select Video→Filters from the menu', but then it says 'To apply filters the video must be transcoded'... whatever that means... Apr 28, 2015 at 4:38
  • 16
    Sadly, "avidemux" is no longer in the standard repo.
    – Cerin
    Oct 24, 2017 at 4:13
19

Do you mean rotation on playback or converting it to a rotated version?

As a commandline-user I normally use mplayer:

Playback: mplayer -vf rotate=1 videofile.mp4 (rotate can have values from 0 to 7, 1 rotates 90deg clockwise)

Convert (requires transcoding): mencoder -vf rotate=1 videofile.mp4 -oac copy -of lavf -lavfopts format=mp4 -ovc lavc -lavcopts vcodec=mpeg4 -o newfilename.mp4 (you can use other video codecs as well, this is just an example)

And here is a graphical tool to do the latter: kdenlive (a kde application from the universe)

  • import your video as a clip
  • draw the clip into the timeline
  • rightclick onto the video chunk in timeline
  • select "Add Effect" -> "Crop and Transform" -> "Rotate (Keyframable)"
  • The effect can be configured in the upper central section of the window, set X to 900 (thats 90 deg clockwise)
  • Render your project (Project -> Render in the main menu)
  • Be careful to choose a video resolution for the resulting portrait format
  • select any video codec you like, i recommend x264 or vp8 (webm)
4
  • convert to a rotated form.
    – Bennett
    Oct 26, 2012 at 16:46
  • Out of curiosity: did you use mencoder in the end or kdenlive? There is a lot of documentation available online for tweaking mencoder options btw. Also some recommendations for "the perfect mencoder command line"(TM), most of them good. Oct 27, 2012 at 13:01
  • 3
    If you want to rotate by 180 degrees, you have to use option flip and mirror at the same time, thus mplayer -vf flip,mirror videofile.mkv
    – erik
    Jan 20, 2017 at 16:40
  • @erik Nice hint. Strange, though, when I run my video using mplayer -vf flip,mirror everything is fine. But when I try to convert it, using mencoder -vf flip,mirror, it is still rotated by 90°. Is there a different syntax for mencoder to flip a video by 180°?
    – Würgspaß
    Aug 2, 2018 at 17:11
11

If you just want to view a movie in a different orientation, as of Totem 3.1.4 (in Raring 13.04 and beyond), there is a "rotation plugin" which you can turn on (edit/plugins), and then rotate e.g. via ctrl-r.

I think proper rotation should be automatic when there is rotation metadata, and I commented on a relevant Totem bug here: Bug 701950 – Iphone Movies

There are also ways to do this in mplayer (and to convert to a rotated movie with mencoder), e.g.

 mplayer -vf rotate file.mov

or

 mencoder file.mov -oac lavc -ovc x264 -vf rotate=1 -o file-rotated.mov
1
  • I found that this only did 90 degrees rotation, but with various combinations of flip and mirror. To get a 180 degree rotation, I have to run mplayer -vf rotate=1,rotate=1 file.mp4 that is, two 90 degree rotations in a row.
    – Criggie
    Nov 22, 2020 at 4:46
6

The best option (in my opinion!) is OpenShot, you simply follow these easy steps:

  1. Start OpenShot
  2. On the File Tab, Import the video file you need to rotate
  3. Drag the imported video to the timeline field at the bottom (either one will do!).
  4. Once the videoclip is in the timeline field, right click on it and choose rotate to the desired angle
  5. Then on the File Tab choose Export video and set the prefered format and location to it!
  6. And presto!! That's it
2
  • 2
    You don't really explain how to acutally rotate it. Please edit your answer and add that information.
    – MadMike
    Nov 13, 2013 at 7:20
  • 4
    No, it rotates the video but keeps the aspect ratio vertical, making the video cropped and square Mar 4, 2015 at 9:16
4

OpenShot crops the video when rotated from landscape to portrait. To compensate, I tried these steps and it worked. Hope it works for you too.

  1. place video on a track, right click and select properties
  2. Under videos tab, uncheck "maintain aspect ratio" and "stretch full screen"
  3. Under videos tab, put 90 for rotating clockwise, or -90 to rotate anti-clockwise
  4. Under Layout tab, decrease width % to lower value (say 70) for both "start of click" and "end of clip". This value should depend upon aspect ratio of shooting, so try accordingly. Mine was 16:9 and value of 70 was fine.

In this way, you would find the video least cropped and it should not be noticeable.

3

A simple tool that can also rotate is transmageddon. Install it with

sudo apt install transmageddon

then load your file into it and choose the rotation position

enter image description here

3
  • Same codecs, but the output file became more than 10 times smaller... Is it because of quality degradation?
    – HEKTO
    Jan 19, 2020 at 3:11
  • This is the best answer. And HEKTO, the quality of the output is dependent on the output format and codecs you choose.
    – Nav
    Jul 14, 2020 at 4:38
  • ModuleNotFoundError: No module named 'gi'
    – rclyde
    Nov 17, 2020 at 14:17

You must log in to answer this question.

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