IPod Video Conversion Guide
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, channel=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 "channel" 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, channel=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, channel=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
This is also described (with snapshots) on http://tom.zickel.org/vlcmp4/
This has also been discussed in the forum