[FFmpeg-devel] feature added: MP4A-LATM payload

Jk . jankarlitos at hotmail.com
Tue May 17 22:05:31 CEST 2011


I would like to submit this patch for discussion with other developers and maintainers. 

It enables another RTP payload for MPEG4 Audio: Low-overhead MPEG-4 Audio Transport Multiplex (LATM). The format specification is described in RFC 3016, and the encoding specifications are provided in ISO/IEC 14496-3.

I believe this is an important feature for the RTP format, because it significantly reduces the overhead of MPEG4-GENERIC streams, and as stated in the RFC "In audio-only applications, then, it is desirable for LATM-based MPEG-4 Audio bitstreams to be directly mapped onto the RTP packets without using MPEG-4 Systems". 

MPEG4-GENERIC allows for transport of a wide range of content, including Java applets (MPEG-J) and scripts, this is the reason of the extra overhead compared to MP4A-LATM which only transports audio. The header size of MP4A-LATM in all the tests i've made is only 1 byte. The only scenario where this header size will be bigger than 1B is when the audio frame size is larger than 254B. But, on average the audio frame is 200B. 

Also, with this payload, there is no need of '-flags +global_header' because all the needed SDP parameters are created on the fly from the AVCodecContext object, the user will only need to specify "-fflags +latm" to enable MP4A-LATM instead of the default MPEG4-GENERIC.

P.D. If the maintainer is OK with this patch, please commit it to the trunk. And let me know the revision number.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: latm.patch
Type: application/octet-stream
Size: 11524 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110517/af44f768/attachment.obj>

More information about the ffmpeg-devel mailing list