[FFmpeg-devel] [RFC] Handling the encapsulation of "E-distribution audio"
Anssi Hannula
anssi.hannula
Wed Jul 21 20:17:42 CEST 2010
Kieran Kunhya kirjoitti lauantai, 17. hein?kuuta 2010 20:57:36:
> "E-Distribution audio" (Dolby E) has an odd encapsulation method. It is
> designed to hide as 2-channel PCM and can contain up to 8 different
> streams. Program map changes (e.g. from 5.1 to 2.0) are common. For
> various reasons you also need to have access to the whole frame to decode
> a particular channel. This doesn?t fit well with lavf/lavc?s model where
> each program is separate in the container. The audio is actually
> encapsulated in the PCM using SMPTE 337M which is similar to SPDIF
> encapsulation.
>
> Realistically the only containers that would contain this audio are wav,
> mxf, ts and possibly mp4/mov. TS is more complicated because TS uses SMPTE
> 302M encapsulation which creates a longer chain:
>
> TS -> SMPTE 302M -> SMPTE 337M -> E-distribution
>
> Possible solutions:
> Some sort of chained demuxer (best option imo). I don?t know enough about
> lavf/lavc internals to code this one. This would presumably require some
> discussion about the API changes (something like demux depth?)
>
> Don?t split up into programs (e.g. a 5.1+2.0 stream would be treated as one
> 8 channel stream)
>
> Any other options I haven?t mentioned? What's the best way to handle this?
The situation seems similar to LATM, where it is TS -> LATM -> AAC, though
AFAIK multiple AAC streams in LATM is not common.
Chained demuxer would indeed be the preferred method, from what I can tell.
Michael posted this suggestion a year ago, though it probably requires more
refining:
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-May/070200.html
--
Anssi Hannula
More information about the ffmpeg-devel
mailing list