I hate software, part 7
So there was this question on that video forum, right? About how to transcode an h.264/AAC MOV file into an h.264.AAC MP4 one without re-encoding so it plays back on the XboX360 and PS3 devices. Owners of such devices that use Vimeo to download videographer’s videos will probably have stumbled into the problem already.
So here are my tested solutions using popular software:
1. Quicktime Pro. Costs $20. You load the MOV file, you make sure that it’s indeed h.264/AAC using the “Show Movie Inspector” window. Then, you export, select “Movie to MPEG-4” and then click “Options”. There, you select the MP4 option, and you select both for video and audio the “passthrough” options from the format drop-down menu. That’s it, in 30 seconds you will be having a PS3/XBoX-compliant video file without re-encoding.
2. Download AvideMux2. It’s free. First, Avidemux2 will ask you if you want to use an alternative algorithm to load this kind of file. If you say “no”, you will get a crash after a while. If you say “yes”, you will get a known audio/video sync issue. So choose your poison. Then select “copy” for both video and audio, MP4 for exporting format and then you save your .mp4 file. The created file is compatible with the PS3 (dunno about XboX360), but Quicktime itself can’t play it back. It seems that Avidemux2 has an MP4 container bug.
3. Download FFmpeg. It’s free. You run the file like this: ffmpeg -i movie.mov -f mp4 -vcodec copy -acodec copy output.mp4
It creates a compatible MP4 file but B-Frames are all fucked up and so the file stutters on playback.
4. Download Mencoder. It’s free. You run the file like this: mencoder movie.mov -oac copy -ovc copy -o output.mp4
It says that it’s broken and that it can’t copy AAC audio and that you will need to override this by using the -fafmttag 0x706D option. You add that and you get an MP4 file. Only that this file is broken and it doesn’t work.
So, commercial proprietary solution 1, open source 0. You get what you pay for, obviously. This doesn’t mean that Quicktime is perfect, I still hate its “tick” problem with h.264 MP4 videos and the fact that the MPEG-4 exporting has no de-interlacing option. So in general, you have to use a gazillion utilities that each one does one part of what you need in order to accomplish a seemingly simple task.
In all fairness, the “Transcode” OSS utility might be able to do what we need to do here, but it only runs under Linux, and this takes out 99% of the Vimeo users.