Rotating Digital Camera Movies by 90° and Converting to DVD
Rotating Video Files
Let's see how to rotate a video by 90°. Maybe you recorded a video using your smart phone or digital camera in "portrait" mode, and now you would like to watch it on something other than the phone or camera display. That means that you will need to rotate the video by 90° and probably convert it to DVD format. Here's how to do the needed video rotation and conversion.
I learned how to do this from
this page
However, I have updated a couple of steps described
there to track changes in the mencoder
tool, and I have added the steps needed
to turn the result into a DVD.
Rotate the Video
Use mencoder,
part of the
MPlayer package,
to do this.
The following assumes that input.avi
is the
name of the AVI video file from your camera (change
as appropriate),
and that it's 320x240 resolution (seems most common).
Note that I have split all of these long commands into
multiple lines.
The backslash character "\
" means
"ignore the special meaning of the following character."
So if it is the last character on the line, these
will work as single commands written across multiple lines.
Or you can remove the backslashes and type each as a single
long line.
If you type one as a single line with the backslashes
still in place, well, just don't do that.
No good will come of it.
$ mencoder -ovc lavc \ -lavcopts vcodec=mjpeg \ -vf rotate=1 \ -oac copy input.avi -o rotated.avi
Look at the result.
Is it upside down?
Then you need to rotate it 90 degrees in the opposite
direction.
Change rotate=1
to rotate=2
in the command:
$ mencoder -ovc lavc \ -lavcopts vcodec=mjpeg \ -vf rotate=2 \ -oac copy input.avi -o rotated.avi
Look at the resulting rotated.avi
and verify
that it's right-side up.
Pad to 4:3 Aspect Ratio
Use mencoder
again to place the tall and narrow
video between black borders, giving you a video stream
of the right orientation and shape.
Change the dimensions as appropriate for the video
file created by your camera!
$ mencoder -ovc lavc \ -lavcopts vcodec=mjpeg \ -vf expand=427:320 \ -oac copy rotated.avi -o padded.avi
Look at the resulting padded.avi
and verify
that it resembles what you would want to see on the TV.
The requested 427x320 is very close to 4:3.
Convert to DVD
This is taken from my page on converting PAL DVDs to NTSC. First, convert to the correct size and frame rate:
$ ffmpeg -i padded.avi \ -target ntsc-dvd \ -s 720x480 \ -r 29.970 my-video-dvd.mpeg
Next, create a new directory and build the DVD file system data structure in it:
$ mkdir my-dvd $ dvdauthor -o my-dvd -t my-video-dvd.mpeg $ dvdauthor -o my-dvd -T
The result is a new directory my-dvd
containing the DVD-specific subdirectories
AUDIO_TS
and VIDEO_TS,
ready to be burned onto a DVD with
K3b
or similar.