The world has too many video formats. We mere mortals are dazzled by the cacophony of audio codecs, video codecs, and file containers. Too frequently the "same" format becomes incompatible as you move from one player to another, or go cross-platform. Some Windows Media files play fine on Windows, yet trip up Windows Media Player for Mac. An MPEG-4 file made on a Mac may not play on a Windows machine. Your QuickTime files on the desktop become wasted space on the SD card in your Palm or Pocket PC. Now we have the iPod that does video, with a predilection for H.264.
So here is the challenge: What combination of video codec, audio codec, and container will produce a video (with sound) that can be played back on a Mac, a Windows PC, a Palm, a Pocket PC, and an iPod?... Was that an artery I just burst?
I have some video segments on disks created with iDVD that I'd like to re-purpose. The video is in the form of .VOB files, containing MPEG-2 video and PCM audio. As elsewhere mentioned, my preferred tool for converting such .VOB files into other formats is MPEG Streamclip. As of version 1.5.1 MPEG Streamclip includes an iPod pre-set button to simplify the creation of content for use on a video iPod. These iPods don't handle just any video—they're particularly fussy, recognising just two flavours:
- H.264 video: up to 768 Kbps, 320 x 240, 30 frames per sec., Baseline Profile up to Level 1.3 with AAC-LC up to 160 Kbps, 48 Khz, stereo audio in .m4v, .mp4 and .mov file formats;
- MPEG-4 video: up to 2.5 mbps, 480 x 480, 30 frames per sec., Simple Profile with AAC-LC up to 160 Kbps, 48 Khz, stereo audio in .m4v, .mp4 and .mov file formats.
Let's make an .mp4 (H.264/AAC) file using MPEG Streamclip's "Export to MPEG-4" and default settings for iPod.
OK, so that's the iPod taken care of (not that I have a video-capable one). Will this file play on the Mac (with QuickTime 7 or VLC)? Check. Will this file play on the Windows PC (with QuickTime 7 or VLC)? Check. Looking good! Time to try the handhelds. TCPMP seems to get a bit of press and is available (free) for both Pocket PC and Palm OS. I tried version 0.71 which lists support for the following:
- Containers: AVI (*.avi); Matroska (*.mkv, *.mka); MP4 (*.mp4, *.m4a); Ogg Media (*.ogg, *.ogm); ASF (*.asf);
- Audio codecs: Mpeg 1 Layer III; Ogg Vorbis; Musepack; Windows Media Audio (on Windows Mobile devices); AC-3; AMR; Adpcm, uLaw;
- Video codecs: DivX; XviD; MPEG4-SP (plus B-frame support); MPEG1; M-JPEG; Windows Media Video (on Windows Mobile devices).
So will our file play on the Pocket PC (with TCMPC)? Er... not yet. As you can see H.264 isn't listed above—but we can add it in the form of an ffmpeg plugin available from the TCPMP site. What about the audio? AAC isn't listed either, but a plugin was included with earlier distributions of TCPMP and can still be found on the net. As the player itself explains:

Find the AAC plugin and you can experience AAC sound but with very jerky H.264 video on the Pocket PC (and that's on a 624 MHz Dell Axim X50v, mind). Umm... pass. Interestingly the Palm OS version of TCPMP 0.71 will play the video without extra downloads (although again with too much stutter) so only needs the AAC plugin.
But the story doesn't end here. However, perhaps predictably, you must make a sacrifice.
To make a video you can share between your Mac (QuickTime or VLC), PC (QuickTime or VLC), and iPod with video—but not with your PocketPC or Palm—choose MPEG Streamclip's default settings for iPod (H.264 video; AAC audio):

Sample .mp4 (H.264/AAC) for download (3 MB; right-click) here.
To make a video you can share between your Mac (QuickTime; VLC is mute), PC (QuickTime; VLC is mute), Pocket PC (TCPMP), and Palm (TCPMP)—but not with your iPod—choose MPEG Streamclip's default settings for iPod and change "Compression" to "Apple MPEG4 Compressor" and "Sound" to "AMR Narrow":

Sample .mp4 (MPEG-4/AMR) for download (2.4 MB; right-click) here.
To make a video you can share between your Mac (QuickTime or VLC), PC (QuickTime or VLC), Pocket PC (TCPMP + AAC plugin), Palm (TCPMP + AAC plugin), and your iPod—but with the legal issues of the devested AAC plugin—choose MPEG Streamclip's default settings for iPod and change "Compression" to "Apple MPEG4 Compressor" (leave the audio as AAC):

Sample .mp4 (MPEG-4/AAC) for download (right-click) here.
Update 16.01.06: If it's video for iPod that interests you most, check out iSquint.









i still no sound
Suras, on which device, using which file format, produced with which software, using which player version, and with which (if any) plugins have you no sound?
Nice overview; I'm still looking for that elusive multi-device format, too. At the college where I work, much of the video development is on Macs for display on Windows via PowerPoint. I've found that encoding to MPEG1 provides a good result, and now more and more faculty are using Transana, an open-source transcription app that depends on MPEG1 too.
MPEG Streamclip is an excellent toolset, but it doesn't export to MPEG1. I just discovered VisualHub, from the nice folk that brought is the free iSquint you reference above. It'll go from VOBs on a non-encrypted DVD right to MPEG1... but it's crippled shareware, and I can't install shareware on the Macs in my lab.
Do you know of another free app that can encode directly from VOBs to MPEG1?
Tim, ffmpegX will convert just about any video source to MPEG1. I've used it before, don't care too much for the interface, but it does what it says on the tin ;-)
im using the apple ipod. I used mpeg streamclip converted to mp4 and when i uploaded to ipod i couldnt hear a thing......the picture is fine just no sound
Difficult to help Mike without knowing the file format and audio video codecs of your source material. Did you specify conversion of audio to AAC (as shown above)?
yes i did everything the above stated.....the file format i was converting from is an mpeg......i dont know how to find out the audio/video codecs though.
You could try ffmpegX Mike; link in comment above. If you open the movie in QuickTime Player, choose Window then Show Movie Info, it shoud tell you the audio and video codec used in your source file under Format. Do this for your output file as well, and it might give a clue as to what's going on.
Thank you bruce for the excellent guide, ive been using mpeg streamclip to convert xvid's to .mp4's to play on the pocket pc and the results are good. however if i use the batch convert on mpeg streamclip i get invalid timecode error although i checked the fix timecode breaks box, so its just 1 movie/night. also the conversion uses all the resources of my intel mobile p4 processor and i cant do much while converting it would be nice if I could slow down the conversion to use less processor resources.
the guide is nearly 2 years old now is there anything new and better software out there?
Vidy, I see a new beta of MPEG Streamclip has just been released for Windows. I'm afraid I'm not familiar with any other Windows tools; these days I tend to use Handbrake (Mac or Win or Linux) or iSquint (Mac only) depending on the source.