Closed kidq330 closed 7 months ago
Since it was decided to put this task on hold, I'm doccumenting the research effort up until now.
Relevant specs: ISO/IEC 14496 (2009) Part 3 - Audio, subclause 1.7 - LOAS and LATM specification RFC3640 - AAC over RTP, MPEG4-Generic RFC5691 - Contains application of RFC3640 RFC6416 - AAC over RTP, MP4A-LATM, obsoletes 3016 which sometimes comes up in discussions.
Relevant implementations: AAC decoder in opencore-amr/fdk-aac AAC encoder in opencore-amr/fdk-aac ffmpeg LATM encoder (muxer?) gstreamer PRs for LATM (not yet merged): fdkaac: Add support for LATM/LOAS aacparse/rtpmp4apay/depay: Add support for LATM Microsoft Media Foundation AAC Decoder
Miscellaneous: MultimediaWiki, RTSP streams that supposedly use MP4A-LATM - https://wiki.multimedia.cx/index.php/RTSP ffmpeg ADTS AAC to AudioSpecificConfig bitstream filter https://stackoverflow.com/questions/59854620/missing-element-mpeg4-generic-audio-rtp-depayloader-gstreamer https://github.com/mstorsjo/fdk-aac/issues/85 https://www.wowza.com/docs/enable-the-mp4a-latm-media-type-for-aac-audio https://github.com/carsten-gross/ts2shout/issues/3
FraunhoferIIS_Application-Bulletin_AAC-Transport-Formats.pdf
Turned out to be waaaay too complex; effort benefit ratio sucks.
As per #682, to add support for RFC6416 in the AAC (de)payloaders we should extend the AAC parser's functionality to be able to convert between the different types of AAC encapsulations, including LATM/LOAS.