I have an MP4 video that was filmed on my Android phone, but the guy filmed it holding my phone some weird way.
When viewing it in QuickTime I have to rotate my laptop 90 degrees and then I will see it as a regular wide screen video and everything looks good.
In VLC the video is already widescreen with proper dimensions but its upside down so I have to flip my laptop upside down.
When I imported it into iMovie, I rotated it 90 degrees and it was the right side up but the video was squished and still taller then wide.
Not sure what's going on but how can I make it widescreen and right side up?
Best Answer
MP4 files can have a
rotate
flag, which tells the player to rotate the video during playback, without changing the way the actual video bitstream is encoded and oriented. VLC does support this flag since version 2.2.0.The question is what you want to do with the video. You basically have two choices:
You can do all of that with
ffmpeg
. Download a static build for your operating system, and extract it to a directory, e.g. so that theffmpeg
executable file is in~/Downloads
. Then open up a terminal window and navigate to said directory:This should run the
ffmpeg
binary. For more info read our blog article onffmpeg
.Here are the actual commands you can use. If you want to keep the actual video bitstream and remove the rotation flag, you only need to remove the metadata for the first video stream
v:0
, and copy the video and audio bitstreams (-c copy
):If you want to transcode the video, flipping it by 180°, you need to specify a video encoder (here,
libx264
) and the flipping filter. The audio stream will be copied over.You can adjust the CRF (Constant Rate Factor) to change the quality of the video. Sane values are anywhere between 18 and 28, depending on your input quality. Lower means better quality, so if your video ends up looking worse than the original, try a lower CRF value.