07 December 2017 - Adaptive Intermediate
This feature allows you to create intermediate multibitrate files that could be used as source for any Advanced Multibitrate media, such as Advanced HLS, Advanced FMP4 HLS, Advanced MSS, and Advanced Dash. Once you've created intermediate files, you could use them as source any time you want to create multibitrate media. Processing would take less time because source files would be only repackaged without transcoding.
Adaptive Intermediate output creates separate file for each specified stream and alternate sources. Files are transcoded to mpegts format.
All features that needed transcoding(overlays, burn-in closed captions etc) should be specified on intermediate creation step.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[AddMedia|AddMediaBenchmark]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<multijob_workflow>[yes|no]</multijob_workflow>
<format>
<output>adaptive_intermediate</output>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- REQUIRED -->
<!-- Format fields -->
<!-- Multiple stream params may be included in output format -->
<!-- Maximum number of available streams is 15 -->
<stream>
<!-- stream params -->
</stream>
<!-- Alternate source fields -->
<!-- multiple alternate_sources may be included -->
<alternate_source>
<!-- alternate_source params -->
</alternate_source>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[AddMedia|AddMediaBenchmark]",
"source": "[SourceFile]",
"multijob_workflow": "[yes|no]",
"format": {
"output": "adaptive_intermediate",
"destination": "[DestFile]",
"stream": [],
"alternate_source": []
}
}
}
When transcoding is complete we would deliver output files to a destination folder with the following naming convention:
%destname%-%streamid%[-%alternateid%][-%program_segment_id%][.%extension%] | |
---|---|
destname | file name specified in param |
streamid | stream id(from 0) |
alternateid | alternate id(from 0). Exists only if <alternate_sources /> specified. |
program_segment_id | program segment id. Exists only if <multijob_workflow /> set to yes. |
extension | file extension specified in param |
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[AddMedia|AddMediaBenchmark]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<!-- Multiple sorces may be included -->
<source>[SourceFile]</source>
<format>
<output>adaptive_intermediate</output>
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- REQUIRED -->
<!-- Multiple intermediate source map params may be included -->
<intermediate_source_map>
<source_id>[ID]</source_id> <!-- REQUIRED -->
<stream_id>[ID]</stream_id>
<alternate_id>[ID]</alternate_id>
<program_segment_id>[ID]</program_segment_id>
</intermediate_source_map>
<intermediate_source_map>
<!-- intermediate source map params -->
</intermediate_source_map>
<!-- Format fields -->
<!-- Multiple stream params may be included in output format -->
<!-- Maximum number of available streams is 15 -->
<stream>
<!-- stream transcoding params -->
</stream>
<stream>
<!-- stream params -->
</stream>
<!-- Alternate source fields -->
<!-- multiple alternate_sources may be included -->
<alternate_source>
<source>[FileURL]</source>
</alternate_source>
<alternate_source>
<!-- alternate_source params -->
</alternate_source>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[AddMedia|AddMediaBenchmark]",
"source": [
"[SourceFile]",
"[SourceFile]"
],
"format": {
"output": "adaptive_intermediate",
"destination": "[DestFile]",
"intermediate_source_map": [
{
"source_id": "[ID]",
"stream_id": "[ID]",
"alternate_id": "[ID]",
"program_segment_id": "[ID]"
}
],
"stream": [],
"alternate_source": [
{
"source": "[FileURL]"
}
]
}
}
}
Field Name | Description | Allowed Value | |
---|---|---|---|
source_id | media source index number | non-negative integer | |
stream_id | adaptive bitrate stream index number, to which we will apply intermediate source specified in source_id | non-negative integer | |
alternate_id | alternate stream index number, to which we will apply intermediate source specified in source_id | non-negative integer | |
program_segment_id | program segment stream index number, to which we will apply intermediate source specified in source_id | non-negative integer |
Adaptive Intermediate output creates separate file for each specified stream and alternate sources. Files are transcoded to mpegts format.
All features that needed transcoding(overlays, burn-in closed captions etc) should be specified on intermediate creation step.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[AddMedia|AddMediaBenchmark]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<multijob_workflow>[yes|no]</multijob_workflow>
<format>
<output>adaptive_intermediate</output>
<intermediate_destination>[DestFile]</intermediate_destination> <!-- REQUIRED -->
<!-- Destination fields -->
<destination>[DestFile]</destination> <!-- REQUIRED -->
<!-- Format fields -->
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[AddMedia|AddMediaBenchmark]",
"source": "[SourceFile]",
"multijob_workflow": "[yes|no]",
"format": {
"output": "adaptive_intermediate",
"intermediate_destination": "[DestFile]",
"destination": "[DestFile]"
}
}
}
Field Name | Description | Allowed Value | |
---|---|---|---|
intermediate_destination | destination for stream intermediate files | valid url | |
Note | : URL must contain the complete path including filename, specifying only the directory path will not work. |
Files uploaded to intermediate destination would have the same structure as for adaptive_intermediate output format.