Clone wiki

transcode / Quicktime

mov file format

transcode can read and write quicktime format files...

mp4 file format

another way to cater to an audience equipped with the quicktime player - a very large one :) - is by providing mpeg4 format files. with the release of quicktime 6 apple showed its commitment to standards based av publishing. properly made, these files can be streamed at bitrates of residential broadband with a very appealing quality. transcode cannot read nor create mp4 files, but can be a step in preparation of such.

the transcode step consists of encoding video with xvid and rendering the audio in a separate wav file. for video, ffmpeg should do too, possibly also divx. for audio, mp3 may do too. only xvid and wav are tested at this time. as an xvid avi is effectively an avi with an mp4video codec, video processing is done now.

the wav audio still has to be encoded. aac is preferred over mp3 for reasons of standards compliance. faac will encode and wrap the file into an m4a stream. quality is comparable to mp3. MP4box of the gpac suite will convert the avi to an mp4 video (m4v) and systems stream and merge the audio and further optimize and interleave the file for either rtp or http streaming.

its very important to have the xvid settings right, or playback in quicktime will fail: no bframes, no qpel, no gmc, no interlacing (nothing xvid4conf frames as advanced on the first tab). these are all features, that require capabilities not currently available in the quicktime player (as of version 6.x) - or in mpeg speak, belong to higher "profiles" of the standard - the windows version reportedly chokes on bframes, while the macintosh version supports them; anyway, bframes are not of much interest in no budget productions. be aware, that quicktime 5 cannot handles these streams. also be aware that quicktime only displays pixels square and will ignore aspect-ratio settings on the stream. when embedding in a web page, the "scale" attribute can be used to correct that behaviour.

the mpeg4ip suite can substitute the functionality of gpac - actually it does lots more, version 1.0 could not be adjusted to make quicktime compatible files though. all these tools are in very good shape: output quality and feature set encompass quicktimes' own.


sample commandlines for http streaming as a Makefile, maximum allowed framesize for simple profile, non-square pixels!


all: $(RESULT)

temp.avi temp.wav: $(SOURCE)
	transcode -i $(SOURCE) -I 4 -Z 352x288,fast \
	--export_asr 2 --export_par 2 \
	-m temp.wav -o temp.avi \
	-w 400 -y xvid4,wav
temp.m4a: temp.wav
	rm -f temp.m4a
	faac -q 100 -o temp.m4a temp.wav
temp.mp4: temp.avi
	rm -f temp.mp4
	MP4Box -convert temp.avi temp.mp4
$(RESULT): temp.m4a temp.mp4
	rm -f $(RESULT)
	MP4Box -inter 500 -isma -merge temp.mp4 temp.m4a $(RESULT)
.PHONY: clean
	rm -f temp.*

testato: peter chiocchetti.

update 06-08-24 - MP4Box commandline changed (interlacing is now default, merge is not understood):

$(RESULT): temp.m4a temp.mp4
	rm -f $(RESULT)
	MP4Box -lang ENG \
	-add temp.m4a \
	-cprt "Your Name" \

non testato, hope that works: peter chiocchetti.