IPod Video Conversion Guide

From VideoLAN Wiki
Revision as of 09:37, 25 October 2006 by Wongsta (talk | contribs)
Jump to navigation Jump to search
This page describes how to make your Video Files playable on an iPod. Other "how to" pages

To play on this device, the file you copy to it needs to be of the correct format. This format is summarised below:

Video Codec mp4v (MPEG4)
Audio Codec mp4a (MP4 audio), aac (AAC)
Container mp4 (MPEG4/MOV)
Size 320x240

To make the video the correct size, you can edit the preferences, or run vlc from a command prompt.

vlc "input_filename" :sout="#transcode{vcodec=mp4v, vb=512, acodec=mp4a, ab=128, channels=2, audio-sync}:std{access=file, mux=mp4,url="output_filename"}" --sout-transcode-width=320 --sout-transcode-height=240 --aspect-ratio=width:height

This all goes on one line, and you'll need to fill in some of the values: the input and output filenames, plus the aspect ratio of the input file. By default vlc will stretch the video to the size specified by sout-transcode-height and width, but if you tell vlc the file's aspect ratio, it will scale and put a black border around it. The aspect ratio can be written as a ratio of width and height, with a colon between the two, or as a decimal.

Further I found that the iPod was particular about the parameter "channels" being set to 2. I found that without this parameter iTunes would import the file into the library but would not be able to upload the same to the iPod.

Further during my experiments I figured out that it was better to stick with MPEG4 encoding for the video stream. While H.264 codec is the latest video compression standard I found the resultant file size usually larger than when the MPEG4 compression mode was used, keeping all the other parameters like the resolution and the bitrate same. This definitely seems contradictory to what I would have expected but these were the findings of my experiments while using videoLan VLC media player.

If you would like to try using H.264 set the parameter vcodec to h264 in the above command line as follows

vlc "input_filename" :sout="#transcode{vcodec=h264, vb=512, acodec=mp4a, ab=128, channels=2, audio-sync}:std{access=file, mux=mp4,url="output_filename"}" --sout-transcode-width=320 --sout-transcode-height=240 --aspect-ratio=width:height

A useful tip - If you intend to create a batch file that would transcode several titles in a DVD one after the other use the keyword vlc:quit as follows

vlc "input_filename" :sout="#transcode{vcodec=h264, vb=512, acodec=mp4a, ab=128, channels=2, audio-sync}:std{access=file, mux=mp4,url="output_filename"}" vlc:quit --sout-transcode-width=320 --sout-transcode-height=240 --aspect-ratio=width:height

Here is the info for a batch file to convert videos one after another, although you have to enter your input and output values yourself (use find and replace, or, if you are better than me, make an actual script/program). Make sure the output names are different or else it will get stuck and/or overwrite the old one

vlc "input_filename" :sout="#transcode{vcodec=mp4v, vb=512, acodec=mp4a, ab=128, channels=2, audio-sync}:std{access=file, mux=mp4,url="output_filename"}" vlc:quit --sout-transcode-width=320 --sout-transcode-height=240 --aspect-ratio=width:height

vlc "input_filename(1)" :sout="#transcode{vcodec=mp4v, vb=512, acodec=mp4a, ab=128, channels=2, audio-sync}:std{access=file, mux=mp4,url="output_filename(1)"}" vlc:quit --sout-transcode-width=320 --sout-transcode-height=240 --aspect-ratio=width:height

......etc for each video to convert (useful for converting short .flv or .gvi, or pretty much any file) I relise this is inefficient, but hopefully someone will make a script (vlc seems best for making ipod videos from any source).



This is also described (with snapshots) on http://tom.zickel.org/vlcmp4/

This has also been discussed in the forum