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.


l3v1 wrote on February 25th, 2008 at 11:27 PM PST:

“Only that this file is broken and it doesn’t work.”

So, how is this a “tested _solution_” 🙂

This is the admin speaking...
Eugenia wrote on February 25th, 2008 at 11:44 PM PST:

It’s a solution that was tested and it was *supposed* to work.

edogawaconan wrote on February 26th, 2008 at 1:18 AM PST:

tried mp4box?

edogawaconan wrote on February 26th, 2008 at 1:35 AM PST:

update: just found a h264-aac mov file and it seems to work fine (with media player classic / haali splitter / ffdshow). haven’t tested with quicktime (as I don’t have it installed) or ps3/xbox360 (don’t own them) though.

This is the admin speaking...
Eugenia wrote on February 26th, 2008 at 2:00 AM PST:

I just tried mp4box, and this seems to work better than the rest (well, it is a utility specializing in mp4, so I wouldn’t expect differently). I have not try it on the PS3 yet, but it works with quicktime: mp4box.exe -add input.mov output.mp4

Bruno wrote on February 26th, 2008 at 8:23 AM PST:

Thanks Eugenia, I tried the Quicktime Pro and it works great, do you know if there is a way to do it in reverse? i got a MP4 AVC made in Nero Recode and I want it to be in a Quicktime carrier, but only let me the encoding parameters, and the Quicktime H.264 compression it’s really bad, thanks in advance.

This is the admin speaking...
Eugenia wrote on February 26th, 2008 at 2:02 PM PST:

Why do you want to make it .mov? All Quicktime-enabled devices and players can playback .MP4 just fine. Mp4 is more compatible with devices than .mov is.

To answer your question, ffmpeg can do this correctly: ffmpeg.exe -i input.mp4 -f mov -vcodec copy -acodec copy output.mov

Bruno wrote on February 27th, 2008 at 9:33 AM PST:

Thanks Eugenia! it worked great, its for a Quicktime stream server, the MP4 carrier only stream the audio part of the file, but with this conversion its working like a normal Quicktime file.

Comments are closed as this blog post is now archived.

Lines, paragraphs break automatically. HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

The URI to TrackBack this blog entry is this. And here is the RSS 2.0 for comments on this post.