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:
- 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.
- 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:
- Provide a sample file.
- Magine Pro will test this file in platform transcode API.
- Magine Pro will inspect the file to understand the format.
- 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 |