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. Subtitles and captions
  3. Subtitle storage and delivery
  4. Subtitle support in media containers
Search Results for

    Show / Hide Table of Contents

    Subtitle support in media containers

    Container subtitle support requires a defined codec mapping and preserved timing/configuration, while player support determines whether that representation can be presented.

    A container needs a defined way to identify a subtitle codec, store its payloads, and describe their timing and configuration. A player then needs to interpret that mapping and present the recovered subtitle.

    Those are two compatibility boundaries. A valid subtitle track can be inside a valid media file without every player supporting it.

    Examples of defined mappings

    Container/framework Subtitle representation or identifier Interpretation
    Matroska S_TEXT/UTF8 SRT-style text, with container cue timing
    Matroska S_TEXT/ASS ASS event payloads and global script/style configuration
    Matroska S_HDMV/PGS Presentation-graphics segments
    ISO base media / MP4 tx3g 3GPP timed text
    ISO base media / MP4 wvtt WebVTT sample carriage
    ISO base media / MP4 stpp family XML timed-text carriage with applicable profile identification
    MPEG transport stream DVB subtitle service Timed subtitle segments plus service signaling

    This is a set of mapping examples, not a product support matrix. Container brands, profile requirements and the intended receiving system can impose additional restrictions.

    Changing a filename extension does not construct these structures. Copying arbitrary SRT bytes into an MP4 track also does not make them a conforming tx3g, wvtt or stpp sample.

    The same sentence can be packaged differently

    A standalone SRT gives “The platform is empty” its start and end in a text timestamp line. Matroska can store the wording in a UTF-8 subtitle block, with the block timestamp/duration representing the interval.

    Those literal bytes differ while the timed sentence can remain equivalent. A muxer writes the target mapping; an extractor can reconstruct the standalone cue.

    For ASS or graphics, global styles, palette/object state and supporting resources also matter. Moving only the visible text or only selected binary packets can discard interpretation information.

    Playback support has another scope

    An Emby route considers the selected app's container, codec and subtitle requirements. A container readable by the app can still contain a subtitle that needs conversion or upstream rendering. Conversely, compatible video can remain unchanged while a separate subtitle conversion supplies an accepted format.

    A remux to another container preserves a subtitle only if the output has a suitable mapping and the necessary configuration is retained. It does not turn a PGS image into character text. It also does not make a reader implement a format it previously could not render.

    See Also

    • Subtitle formats explained
    • Embedded subtitle tracks
    • Matroska: MKV and MKA
    • MP4 and the ISO Base Media File Format
    • MPEG Transport Stream: TS and M2TS

    References

    • Matroska: Subtitle codec mappings
    • MPEG: Timed text in ISO base media files, ISO/IEC 14496-30
    • DASH-IF IOP Part 9 v5.0.0: Subtitles and captions
    • RFC 9559: Matroska container format
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top