Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Media files and containers
  3. File packaging details
  4. AAC transport formats
  5. Audio Data Transport Stream (ADTS)
Search Results for

    Show / Hide Table of Contents

    AAC: Audio Data Transport Stream (ADTS)

    ADTS frames AAC audio with repeated headers containing synchronization, frame length, and core decoding information.

    An ADTS reader can find and delimit AAC audio as it reads from a file or continuing input. Audio Data Transport Stream surrounds audio data with repeated header information rather than relying on one movie-wide sample table.

    The header includes a synchronization pattern, MPEG/profile information, a sampling-frequency index, channel configuration, and the length of the framed unit. That lets the reader obtain the next boundary and basic setup from the stream.

    Walk three framed units

    Consider a simple single-raw-data-block case with no CRC. Each header is seven bytes, and the invented audio payloads contain 100, 120, and 90 bytes.

    ADTS unit Framed length Start byte relative to the sequence
    First 107 0
    Second 127 107
    Third 97 234

    The reader validates the first header, reads its declared 107-byte unit, then checks the next expected header at byte 107. After another 127 bytes, the third begins at 234. The complete three-unit sequence occupies 331 bytes.

    In a common CRC-protected single-block arrangement, the header includes the additional protection field and occupies nine bytes. Arrangements with several raw data blocks have further details, so the seven-byte example should not be applied indiscriminately.

    Validating successive structures distinguishes a real framing sequence from one matching byte pattern inside unrelated data. The reader's work is boundary discovery and setup interpretation before audio decoding.

    How those bytes acquire audio time

    For ordinary AAC-LC units with 1,024 samples at 44.1 kHz, each represents approximately 23.220 ms. Three units represent 3,072 samples, or approximately 69.660 ms, despite their different byte lengths.

    Advanced AAC tools can change the relationship between the declared core and the final output. HE-AAC, for example, can reconstruct a higher-rate output from its core. The header fields are part of a complete interpretation, not a reason to discard signalling carried elsewhere in the audio syntax.

    Within a larger transport or a different file

    ADTS is not MPEG transport stream. TS can carry ADTS-framed audio as one component, adding its programme identification and systems timing around it.

    In MP4, encoded audio can instead be stored as samples whose configuration and timing are described by the container. Translating the package reads ADTS framing, retains applicable encoded audio, and writes the destination setup. An Emby delivery route can therefore change how AAC arrives without necessarily recompressing the soundtrack.

    See Also

    • AAC Stream Packaging
    • AAC: Low Overhead Audio Transport Multiplex (LATM)
    • MPEG Transport Stream: TS and M2TS
    • HE-AAC Audio

    References

    • ISO/IEC 13818-7:2006: MPEG-2 AAC
    • ISO/IEC 14496-3:2019: MPEG-4 Audio
    • FFmpeg: aac_adtstoasc bitstream filter
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top