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 processing in Emby
  4. Subtitle overlay filters
  5. Software subtitle overlay
Search Results for

    Show / Hide Table of Contents

    Software subtitle overlay

    Software subtitle overlay renders/decodes and blends subtitle content into CPU-accessible video frames, with any hardware transfers determined by the surrounding route.

    Software overlay performs subtitle rendering/decoding or picture composition through CPU-accessible data. These can be separate operations: libass can shape/render text, then a blend stage combines its coverage with decoded video.

    A pipeline using a hardware video decoder and encoder can still have software composition between them. The accelerator labels do not describe every intermediate stage.

    The native and legacy CPU forms

    The pinned Emby FFmpeg archive contains overlaytextsubs and overlaygraphicsubs, which consume subtitle media directly for composition. Its older subtitles/ass filters represent another software design that renders a script associated with the filter.

    Both can produce subtitle pixels in video. Their input acquisition and lifetime handling are different, so the filter name helps identify the work rather than simply a quality level.

    Full pictures and small caption layers have different sizes

    For a tightly packed 3840 × 2160, 8-bit NV12 picture:

    bytes = width × height × 1.5
          = 3840 × 2160 × 1.5
          = 12,441,600
    

    At 24 pictures per second, one traversal of those logical picture bytes is 298,598,400 bytes/s. A download and upload pair is 597,196,800 bytes/s, before padding, protocol and additional processing.

    A small 800 × 80 RGBA subtitle image is 256,000 bytes. A full-frame RGBA canvas at 3840 × 2160 is 33,177,600 bytes. The cropped object's size and the converter's actual output canvas are not interchangeable.

    These are payload calculations, not measured bus traffic or a hardware-performance promise.

    A hardware-decoded picture can be downloaded for CPU composition and uploaded for a hardware encoder; a different route can keep the main picture on the device.

    Caching reduces some work, not every picture operation

    A static cue need not be reshaped from scratch for every video picture. Its image or glyph data can be reused where the implementation permits.

    The blend still modifies applicable picture content. An animation can also require updated subtitle pixels, and fonts/effects can affect the renderer's cost.

    If CPU overlay is the bottleneck, reducing glyph complexity and reducing full-frame memory work address different causes. The useful evidence is the active graph and its measured stage behavior.

    For Emby, hardware-acceleration documentation explains supported platform contexts. The source and actual session details establish whether pictures stayed on hardware surfaces or crossed a CPU composition boundary.

    See Also

    • Subtitle overlay filtering
    • Classic subtitle overlay pipeline
    • Legacy subtitle overlay filters
    • Hardware subtitle overlay pipeline

    References

    • Emby FFmpeg source archive: 2023_06_25-u1
    • libass: Subtitle rendering library
    • FFmpeg filter documentation
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top