Content Requirements

Encoder profiles should match

  • Remix uses a set of heuristics to make "best fit" matches of tracks between separate source media

  • Video aspect ratio changes can cause playback quality issues depending on the player as it may stretch the content to fit the expected aspect ratio

  • Some audio differences will cause playback to break and so cannot be matched, for example,

    • sample rate mismatch

    • channel count difference

Ensuring a continuous media timeline

To ensure a continuous media timeline on which gaps in audio, video and subtitles are minimized as much as possible, Remix will insert empty subtitle cues and silent audio where necessary. However, do note that support for insertion of silent audio is limited to AAC-LC, Dolby's AC-3 and EC-3, and DTS and DTS:X (e.g., AAC-HC is not supported).

Also, when Remix decides where in the source media's timeline it should make a cut, it treats video as leading. And to make sure audio and video end at the exact same time, it may lengthen the last video sample slightly.

Track order in and selection of track from a remixed MP4

The order in which Remix puts tracks in a remixed MP4 is considered an implementation detail that should not be relied upon for selection of tracks from a remixed MP4.

This means that to select tracks from a remixed MP4, --track_id should not be used. Instead, rely on --track_type and --track_filter (which may be combined).

Having said that the general order of tracks in a remixed MP4 will be as follows:

  • Audio tracks first sorted by bitrate ascending

  • Video tracks sorted by bitrate ascending

  • Text tracks (TTML / WebVTT subtitles)

However, note that other track properties like language and track kind will play a role as well.

Performance considerations when storing remixed MP4s on remote storage

Overall, storing remixed MP4s on remote storage should provide sufficient performance, although caching them might be worth considering: Cloud Storage Reducing Latency. However, when playlists from which remixed MP4s are generated are very long (several hours), resulting remixed MP4s become too large for Origin to perform well when fetching them from remote storage (as Origin needs to read the index from the remixed MP4 for each request it serves out). In such cases, store remixed MP4s locally or on NFS.