Guru's Verification engine ensures consistency, confidence, and trust in the knowledge your organization shares. Learn more.

VOD Specifications for Transcoding

The platform supports transcoding from source mezzanine files to OTT Adaptive bitrate outputs, suitable for distribution to end users devices. The outputs combined with end device player optimization, can help handle different device & network performance conditions (see Broadband Network Conditions https://app.getguru.com/card/idpnjgMT/Broadband-consumption-speed-recommendation)

  • VOD Outputs: Up to 5 adaptive bitrate outputs: SD, SD, HD, HD, FHD
  • Live & Linear: Up to 5 adaptive bitrate outputs: SD, SD, HD, FHD

ABR - Adaptive Bitrates are handled:

  • During the transcoding process, the files are output to different bitrate and resolution specifications.
  • During playback in the end user device, the player continuously monitors playback performance and will switch to the most optimal bitrate stream depending on the device / network conditions.

It is possible to start the transcoding of a file through two ways:

  1. Standard: You start the transcoding through the Magine Pro Console. The system will perform a pre-check of your files before transcoding and inform you of any issues that you might need to address.
  2. Advanced: You start the transcoding through a direct API call. This allows you transcode more media and audio formats than on the standard path but there will be no pre-check of your files.

General Specifications

The following specifications apply to all files you prepare for transcoding independently of the method you choose.

Requirements for all file paths

  • No spaces in file and folder names.
  • File and folder names must only contain alphanumeric characters, dash, underscore and dot.

Best practices

  • The program starts and ends with 1 second of black and silence.
  • Video and audio have passed as few transcoding steps as possible.
  • Video and audio has the best possible quality.
  • Audio levels are normalised.
  • The filename is human readable and identifies the content.
  • The filename is free of long and messy internal ID codes.
  • Prefer non-interlaced video with integer frame rates.

Video

  • Fractional frame rates will be adjusted to the nearest integer frame rate - the output duration will be adjusted in order to maintain frame count.

Subtitles

  • Separate files, one language per file.
  • Subtitles must be provided together with the VOD assets.
  • Subrip (.srt) format.
  • UTF-8 encoding.
  • No formatting or positioning tags.
  • Time codes must correctly synchronise with the audio.
  • At least one blank line at end of .srt file.

Media containers

  • Submit a collection of media containers that include the desired audio, video and subtitle track(s) for an asset.
  • Exactly one video track per asset.

Specifications for transcoding through the Magine Pro Console

If you transcode through the Magine Pro Console these codecs for media, audio and subtitles are supported.

Video

Containers and codecs:

Container

Codec

mpeg-4

avc (h264), hevc (h265), mpeg-2

quicktime

avc (h264), hevc (h265), mpeg-2, prores

Audio

Containers and codecs:

Container

Codec

mpeg-4

aac, pcm

quicktime

aac, pcm, mp3

Additional requirements:

  • Supported channel layouts are stereo and 5.1 surround. The channels in a layout must be in the same track, e.g. a container could have a number of stereo tracks (2 channels each) and/or some surround tracks (6 channels each).
  • Mono tracks which need to be combined to multichannel layouts are not supported.
  • Language information about each track in ISO 639-2 format must be correctly set in the container metadata.
  • A track with no language set, or tagged as und ("undetermined"), is treated as invalid — the pre-check will fail and the file will need to be re-tagged with a valid ISO 639-2 language code and re-uploaded.
  • Avoid duplicate language labelling across tracks of the same layout — e.g. two separate stereo tracks both tagged "eng" — each track's language tag should be distinct for its layout.
  • If your account regularly delivers content in one predominant language, ask your Magine Pro contact about enabling an account-level default audio language. When set, a single audio track with an undefined/missing language tag will automatically resolve to that default instead of failing the pre-check. This only resolves one affected track per asset — it will not help if more than one track has an undefined language — and the platform cannot automatically detect which language is actually spoken in the audio (that would require speech-to-text and translation analysis, which is not performed).
  • Minimum one stereo audio track per asset, even if surround audio is provided.
  • Resolution of video must have a minimum width of 640px and height of 480px.

Subtitles

Containers and codecs:

Container

Codec

subrip (srt)

text

Additional requirements:

  • Subtitles must be associated with a language.
    • To set this, the subtitle filename must end with a ISO 639-2 language code. Separate the language with a dot e.g. "mymovie.eng.srt" or mymovie.swe.srt".
  • Optionally, subtitle type metadata can be set in the filename following the language code.
    • Captions, subtitles also describing audio cues, can be set as "cc" or "sdh" e.g. "mymovie.eng.cc.srt" or "mymovie.swe.sdh.srt".
    • Foreign-only, subtitles for parts of a movie in a language other than the main audio language, can be set as "fo" e.g. "mymovie.eng.fo.srt".

Adding support for more formats through the Magine Pro Console

When files and formats are not supported, we want to add support for them if it's possible. This is the process:

  1. Provide a sample file.
  2. Magine Pro will test this file in platform transcode API.
  3. Magine Pro will inspect the file to understand the format.
  4. If possible, Magine Pro will implement support for this format in the probing process.

Possible to transcode through the Platform Transcode API

If you transcode through the transcoding API these codecs for media, audio and subtitles are supported.

https://developers.maginepro.com/reference/post_partner-transcode-asset

Video

Containers and codecs:

Container

Codec

mpeg-4

avc (h264), hevc (h265), mpeg-2

quicktime

avc (h264), hevc (h265), mpeg-2, prores

mxf

mpeg-2

Audio

Container

Codec

mpeg-4

aac, pcm

quicktime

aac, pcm, mp3

mxf

pcm

Subtitles

Containers and codecs:

Container

Codec

subrip (srt)

text

You must have Author or Collection Owner permission to create Guru Cards. Contact your team's Guru admins to use this template.