25 December 2014 - More features for Advanced HLS and MJPEG codec.
MJPEG codec support for MOV format
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
video_codec | Video codec | mov: mpeg4, libx264, xdcam, dvcpro, dvcpro50, dvcprohd, mjpeg | mp4, m4v,appletv, psp, android, mov: mpeg4 |
Main and Alternare source
This feature allows a provider to specify one of a set of variant playlists as an "override" of the main presentation. The client will only play the override media (audio or video), and suppress any media of the same type from the main presentation, if present. This allows a presentation to offer multiple versions of the media without requiring the provider to store duplicate media, or requiring the client download all variants when it only needs one. It also allows additional media to be offered subsequently without remastering the original content. Read more at Apple dev technote
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<format>
<output>advanced_hls</output>
<stream>
<!-- stream params -->
<group_id>[GroupID]</group_id>
</stream>
<stream>
<!-- stream params -->
<use_group_id>[CommaSeparatedList]</use_group_id>
</stream>
<!-- Main/alternate source fields -->
<main_source>
<type>[video_audio|video|audio]</type>
<video_name>[Name]</video_name>
<audio_name>[Name]</audio_name>
<use_stream_id>[CommaSeparatedList]</use_stream_id>
</main_source>
<alternate_source>
<!-- multiple alternate_sources may be included -->
<source>[FileURL]</source>
<type>[video_audio|video|audio]</type>
<video_name>[Name]</video_name>
<audio_name>[Name]</audio_name>
<use_stream_id>[CommaSeparatedList]</use_stream_id>
</alternate_source>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"format": {
"output": "advanced_hls",
"stream": [
{
"group_id": "[GroupID]"
},
{
"use_group_id": "[CommaSeparatedList]"
}
],
"main_source": {
"type": "[video_audio|video|audio]",
"video_name": "[Name]",
"audio_name": "[Name]",
"use_stream_id": "[CommaSeparatedList]"
},
"alternate_source": {
"source": "[FileURL]",
"type": "[video_audio|video|audio]",
"video_name": "[Name]",
"audio_name": "[Name]",
"use_stream_id": "[CommaSeparatedList]"
}
}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
Stream params | |||
group_id | Alternate group id based on current stream. | String | |
use_group_id | Specifies group id list to use as alternate for current stream. | Comma separated group_id list | |
Main source params | |||
type | Sets for which stream types source will be used | video – for NOT audio_only streams audio - for audio_only streams video_audio - for all streams | video_audio |
video_name | Name of main source video stream | string | |
audio_name | Name of main source audio stream | string | |
use_stream_id | Sets which source's stream will be used. | Comma separated list of stream ids | |
ALternate source params | |||
source | URL to alternate source file. Optional. If not exists main source link will be used as alternate source | Valid URL to alternate source file | |
type | Sets for which stream types source will be used | video – for NOT audio_only streams audio - for audio_only streams video_audio - for all streams | video_audio |
video_name | Name of alternate source video stream | string | |
audio_name | Name of alternate source audio stream | string | |
use_stream_id | Sets which source's stream will be used. | Comma separated list of stream ids |
Changes in stream and format params
New audio codec
Added new 'ac3' audio codec for streams.
Byte-range
You can now specify a media segment as a byte range (subrange) of a larger URL. This allows you to consolidate your media segments into larger files or a single large file. The primary benefit of this is when a client is playing your media, rather than downloading each successive segment file from a different location, it is actually walking through a larger file in sequence. Read more at Apple dev technote
I-Frame playlist
iOS 5 now supports Fast Forward and Reverse Playback. However, you don't need to produce special purpose content to support Fast Forward and Reverse Playback. All you need to do is specify where the I-Frames are. I-Frames, or Intra frames, are encoded video frames whose encoding does not depend on any other frame. To specify where the I-Frames are, iOS 5 introduces a new I-Frame only playlist. Read more at Apple dev technote
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<format>
<output>advanced_hls</output>
<stream>
<audio_codec>[ac3|default audio codecs for streams]</audio_codec>
<byte_range>[yes|no]</byte_range>
<add_iframe_stream>[yes|no]</add_iframe_stream>
<video_only>[yes|no]</video_only>
</stream>
<duration_precision>[Number]</duration_precision>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"format": {
"output": "advanced_hls",
"stream": {
"audio_codec": "[ac3|default audio codecs for streams]",
"byte_range": "[yes|no]",
"add_iframe_stream": "[yes|no]",
"video_only": "[yes|no]"
},
"duration_precision": "[Number]"
}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
Format params | |||
duration_precision | Sets number of decimals after point for duration in playlist file. | integer | 0 |
Stream params | |||
byte_range | Use byte-range playlist - do not split mpeg-ts file to segments | yes, no | no |
add_iframe_stream | Add i-frame playlist for this stream (allowed only for video) | yes, no | no |
audio_only | Result segments will contain only audio stream | yes, no | no |