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. Libraries and media collections
  3. Library scanning and media analysis
  4. Media analysis and previews
  5. Seek-preview thumbnails
Search Results for

    Show / Hide Table of Contents

    Seek-preview thumbnails

    Seek-preview thumbnails are time-indexed small images that help a viewer locate scenes without decoding full video interactively for every seek position.

    A seek-preview thumbnail is a small picture associated with a position on a video timeline. When the viewer scrubs through the progress bar, the app can display the nearby indexed picture instead of repeatedly opening and decoding the full-resolution video at each pointer movement.

    The preview is an aid to locating content. It does not change the main video's resolution or guarantee that playback will begin on exactly the frame shown.

    A time lookup selects an image

    Assume an original preview set with samples at 0, 10, 20, 30, 40 and 50 seconds. A lookup policy that chooses the latest sample at or before the requested time maps 42 seconds to the 40-second image.

    A policy choosing the nearest sample could differ at another position—for example, 47 seconds could select the 50-second image. The sampling interval and selection policy together determine the preview's temporal approximation.

    A chapter thumbnail is associated with a chapter point. A regular seek-preview set samples across the timeline. The same image can serve both roles in a particular system, but chapters and regular samples do not inherently have the same positions or count.

    More samples cost more work and storage

    For the fictional 108-minute movie, duration is 6,480 seconds. Sample at time zero and then at fixed intervals strictly before the end:

    Interval Sample count Assumed average image size Image-payload total
    10 seconds 648 12,000 bytes 7.776 MB
    5 seconds 1,296 12,000 bytes 15.552 MB

    The values use decimal units and the deliberately fixed average image size. Real images compress differently, and archive/index overhead adds further bytes.

    Halving the interval doubles the count under these assumptions. It improves temporal granularity, but it also increases extraction, encoding and storage work. The count does not imply that every source frame has to be decoded independently from scratch: sequential extraction can reuse decoded progression, while repeated random seeks have different costs.

    BIF archives store images with a time index

    A BIF archive packages preview images with index information. Roku's specification describes a header, time/offset entries and image data. The indexed timestamp is interpreted with a timestamp multiplier; the offsets locate the image bytes.

    Emby uses BIF resources for video previews. A current Emby team discussion describes storage either alongside media or in the server's metadata area. Packaging many pictures in one archive explains why the viewer can have hundreds of preview images while the file manager shows one .bif resource.

    Consider this original index arithmetic for three hypothetical image payloads, not a validated BIF file:

    Entry Timestamp value Time with 1,000 ms multiplier Absolute byte offset
    Image 0 0 0 seconds 96
    Image 1 10 10 seconds 1,096
    Image 2 20 20 seconds 2,296
    End sentinel 0xffffffff End-of-data entry 3,196

    A 64-byte header and four 8-byte index entries occupy 96 bytes. The assumed payload lengths are 1,000, 1,200 and 900 bytes. Subtracting consecutive offsets recovers those lengths; the final entry supplies the endpoint for the last image.

    Original BIF index arithmetic separates timestamp values from absolute image byte offsets and derives three payload lengths by subtraction.

    These values illustrate two distinct coordinates: time selects an entry; byte offset locates its payload. Neither coordinate is a pixel position inside an image.

    A sprite sheet uses spatial coordinates instead

    Another design packs thumbnails into a larger image, called a sprite sheet, and indexes the rectangle for each time. Suppose a sheet has three columns and two rows of 320 × 180 tiles.

    Sample 4, counted from zero, occupies column 1 and row 1:

    column = 4 mod 3 = 1
    row = floor(4 / 3) = 1
    x = 1 × 320 = 320
    y = 1 × 180 = 180
    

    A spatial fragment can express that rectangle as:

    sheet.jpg#xywh=320,180,320,180
    

    W3C's Media Fragments specification defines this pixel-rectangle notation. The example is a generic sprite design, not a claim that Emby uses this delivery format.

    Six original geometric preview tiles show a three-column sprite arrangement; sample 4 is highlighted at x 320, y 180 with dimensions 320 by 180.

    The sketches are original illustrations, not captured film frames.

    Extraction needs a usable picture

    A requested timestamp can fall between random-access points. The decoder may start from an earlier access point and decode forward to obtain the intended picture. That is different from simply choosing a nearby keyframe as the preview; each approach has a different time/cost trade-off.

    The extracted frame then needs appropriate scaling and display interpretation. Aspect-ratio mistakes distort the image. An HDR source may need a suitable conversion for an SDR preview presentation. A black frame can be the correct sample at one instant but an unhelpful way to recognize a scene.

    These are content-processing choices. The availability of a preview file does not establish which extraction or colour-conversion algorithm produced it.

    Previews belong to the source timeline

    An archive created for one cut can remain numerically well-formed after the movie is replaced, while its images depict the wrong moments. A 13-minute insert shifts later content without necessarily changing the path.

    Regeneration or valid correspondence is then needed at the resource level. A metadata refresh that changes the movie's synopsis does not, by itself, prove the preview cache was regenerated. Storing previews beside the media likewise does not guarantee they correspond to a newly replaced file.

    See Also

    • Chapter thumbnails
    • Technical analysis of library media
    • Incremental library scans
    • Video Keyframes and Random Access
    • How Video Scaling Works
    • How HDR-to-SDR Tone Mapping Works

    References

    • Roku: BIF file creation and archive specification
    • Emby team: Preview thumbnail storage
    • Emby team: BIF preview resources (January 2024)
    • W3C: Media Fragments URI 1.0
    • FFmpeg: Seeking and media processing
    • FFmpeg: Video frame-selection, scaling and tiling filters
    • FFmpeg: ffprobe documentation
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top