Advanced fMP4 output will create manifests for fmp4_hls, advanced_dash, and advanced_mss outputs with a common set of fmp4 files.
advanced_fmp4 is our recommended method to create CMAF conformant outputs.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<format>
<output>advanced_fmp4</output> <!-- required-->
<destination>[DestinationURL]</destination> <!-- required-->
<stream>
<!-- Fields applicable for fmp4_hls manifest -->
<!-- Manifests fields -->
<manifest>
<basename>[BaseName]</basename> <!-- required-->
<add_to_manifest>
[ManifestName]:[Position],[ManifestName]:[Position]
</add_to_manifest>
<clearkey_drm>[yes|no]</clearkey_drm>
<fairplay_drm>[yes|no]</fairplay_drm>
<destination>[ManifestDestination]</destination>
</manifest>
<!-- Multiple manifests may be included -->
<manifest>
<!-- manifest params -->
</manifest>
<!-- Fields applicable for advanced_dash and advanced_mss manifest -->
<add_to_manifest>[ManifestName],[ManifestName]</add_to_manifest>
<timescale>[TimeScale]</timescale>
</stream>
<!-- Multiple stream params may be included -->
<!-- Maximum number of available streams is 15 -->
<stream>
<!-- stream params -->
</stream>
<!-- Manifests fields -->
<manifest>
<widevine_drm>[yes|no]</widevine_drm>
<playready_drm>[yes|no]</playready_drm>
<add_hls_drm_metadata>[yes|no]</add_hls_drm_metadata>
<single_segment_template>[yes|no|auto]</single_segment_template>
<replace_bitrate>[yes|no]</replace_bitrate>
<add_audio_channels>[yes|no|auto]</add_audio_channels>
<apply_to>[hls|dash|all]</apply_to>
<add_all_cea_cc_channels>[yes|no]</add_all_cea_cc_channels>
</manifest>
<!-- Multiple manifests may be included -->
<manifest>
<!-- manifest params -->
</manifest>
<!-- Fields applicable for fmp4_hls manifest -->
<!-- Alternate source fields -->
<!-- multiple alternate_sources may be included -->
<alternate_source>
<alternate_default>[yes|no|auto]</alternate_default>
<alternate_autoselect>[yes|no]</alternate_autoselect>
</alternate_source>
<split_segments>[yes|no]</split_segments>
<widevine_drm>[yes|no]</widevine_drm>
<playready_drm>[yes|no]</playready_drm>
<cmaf_conformant>[yes|no]</cmaf_conformant>
<add_audio_only>[yes|no]</add_audio_only>
<fragment_duration>[Duration]</fragment_duration>
<hls_manifests>[yes|no]</hls_manifests>
<dash_manifests>[yes|no]</dash_manifests>
<mss_manifests>[yes|no]</mss_manifests>
<segment_template>[number|time]</segment_template>
<!-- Format params -->
<!-- Nielsen metadata settings -->
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "[Action]", // required
"source": "[SourceFile]", // required
"format": {
"output": "advanced_fmp4", // required
"destination": "[DestinationURL]", // required
"stream": [
{
// Fields applicable for fmp4_hls manifest
// Manifests fields
"manifest": [
{
"basename": "[BaseName]", // required
"add_to_manifest": "[ManifestName]:[Position],[ManifestName]:[Position]",
"clearkey_drm": "[yes|no]",
"fairplay_drm": "[yes|no]",
"destination": "[ManifestDestination]"
},
{
// manifest params
}
// Multiple manifests may be included
],
// Fields applicable for advanced_dash and advanced_mss manifest
"add_to_manifest": "[ManifestName],[ManifestName]",
"timescale": "[TimeScale]"
}
// Multiple stream params may be included
// Maximum number of available streams is 15
],
"manifest": [
{
"widevine_drm": "[yes|no]",
"playready_drm": "[yes|no]",
"add_hls_drm_metadata": "[yes|no]",
"single_segment_template": "[yes|no|auto]",
"replace_bitrate": "[yes|no]",
"add_audio_channels": "[yes|no|auto]",
"apply_to": "[hls|dash|all]",
"add_all_cea_cc_channels": "[yes|no]"
},
{
// manifest params
}
// Multiple manifests may be included
],
// Fields applicable for fmp4_hls manifest
// Alternate source fields
// multiple alternate_sources may be included
"alternate_source": {
"alternate_default": "[yes|no|auto]",
"alternate_autoselect": "[yes|no]"
},
"widevine_drm": "[yes|no]",
"playready_drm": "[yes|no]",
"cmaf_conformant": "[yes|no]",
"add_audio_only": "[yes|no]",
"fragment_duration": "[Duration]",
"hls_manifests": "[yes|no]",
"dash_manifests": "[yes|no]",
"mss_manifests": "[yes|no]",
"segment_template": "[number|time]"
// Format params
// Nielsen metadata settings
}
}
}
Note
For closed captions only available ismt and webvtt muxing types.
If mux type set to webvtt it will be applied to dash and hls manifests and ismt for mss.
If mux type set to ismt it will be applied to dash and mss manifests and webvtt for hls.
For stream parameter
Value of Duration attribute of Period tag in MPD manifest will be taken from the first stream in API request.
For add_all_cea_cc_channels parameter
The <add_all_cea_cc_channels /> parameter available only for HLS manifests