[Ffmpeg-devel] MPEG4 over TS
Måns Rullgård
mru
Fri Jun 3 12:06:44 CEST 2005
Erik Slagter <erik at slagter.name> writes:
> On Fri, 2005-06-03 at 11:27 +0200, M?ns Rullg?rd wrote:
>
>> Yes, and ADTS is a syntax for AAC elementary streams with a small (a
>> few bytes) header on each frame. This header contains a sync pattern
>> and some information about the stream (channels, sample rate, etc),
>> much like MPEG1 audio. This header can be omitted if the same
>> information can be conveyed by other means (e.g. "extradata" fields),
>> and the container can identify the frame boundaries. AAC in quicktime
>> is stored this way.
>
> Ah, ok, clear. So with aac the first layer of encapsulation has been
> made explicit, while mpeg1 audio has it implicit. I like it, but the
> side effect of course is various "upper" layers. Hmmm.
Hmmm, I concur.
>> > another syntax for AAC. These aac people seem to get never tired of
>> > pulling out new dialects
>> Indeed.
>
> And this would be another first encapsulation layer then.
>
> So a "pure" aac es is actually not playable without having inside
> information.
The raw data blocks are not usable without information about number of
channels, sample rate, and some other things.
There are four formats commonly used with AAC streams: ADTS (Audio
Data Transport Format), ADIF (Audio Data Interchange Format), LATM
(Low Overhead Audio Transport Multiplex), and LOAS (Low Overhead Audio
Stream). ADIF uses a single header followed by raw data, which makes
seeking impossible. There are also ADTS format streams with an ADIF
header. LOAS is a yet another format, and LATM is a multiplex format
related to LOAS. Most of these can also be used in various
combinations encapsulated in other containers. Ain't it fun?
--
M?ns Rullg?rd
mru at inprovide.com
More information about the ffmpeg-devel
mailing list