Virtual Channel
Get Channel and Transition Jobs
Get a list of all channels jobs. The list includes channel name and status uri.
Get Channel Detail
Get all available details of the channel.
Submit a job for Channels creation/update
Submits a job to create a channel or to modify an existing one.
The request body must be a valid SMIL XML playlist.
For VOD2Live playlusts, the SMIL head section must contain at least the two options:
- vod2live (set to True)
- vod2live_start_time, in a valid ISO8601 format, as supported by mp4split.
For Live playlists, the SMIL must ... [WRITEME]
The SMIL body section must be non-empty.
If {channel} does not exist already, a job is scheduled to create one.
When a job is successfully scheduled, a 200 status is returned. The response will
include a 'task_id' and a 'status_url' which can be queried to check the job
status.
If {channel} exists, an update is attempted. This function is mostly dedicated
to modify "future" channels that are not active yet (their vod2live_start_time has
not yet expired). In fact, the update will fail if:
- a creation/update job is pending or running already. In this case, 503 is
returned. The update can be re-attempted later.
- the channel has started already (e.g. vod2live_start_time in the past). In this
case, a 400 error is returned: the operation is prevented because modifying an
active channel would break running streams.
If you really want to update an active channel and break playout, you can
do so by forcing the operation with the `force` query parameter. Use this with
extreme caution.
NOTICE: if your intent is to switch the channel to different content (and keep the
existing archive) you should use a "transition". If instead you need to completely
obliterate the channel, use the "DELETE" endpoint.
Request Channel Deletion
Attempts to delete a channel.
If the channel is not found, returns 404.
If the channel is found but it has a pending or running creation/update job,
it returns 503.
If the channel is found and the task creation job is terminated (either successfully
or with a failure), deletes the channel, removing the isml file, the
remixed mp4 and all the related entries from the database.
The deletion of a channel is only 100 percent safe if its vod2live_start_time is in
the future, otherwise, running streams may break. Use with extreme caution.
Get VOD2Live delay
Get the fixed offset in seconds to delay VOD2Live outputs to simulate live
encoder latency, in order to more closely align VOD2Live and Live source
media timelines.
Set VOD2Live delay
Set a fixed offset in seconds to delay VOD2Live outputs to simulate live
encoder latency, in order to more closely align VOD2Live and Live source
media timelines.
Delay must be a positive integer.
Delete VOD2Live delay
Delete the fixed offset in seconds to delay VOD2Live outputs to simulate live
encoder latency, in order to more closely align VOD2Live and Live source
media timelines.
Get Channel's ISML server manifest
Get the .isml server manifest file created by mp4split for this channel.
Get Channel Log
Get the command line parameters and stderr logs for both unified_remix and
mp4split commands.
If only a remix command is logged, i.e. because the remix process failed so
mp4split wasn't run, the mp4split entry will be empty.
Get Channel Mp4split Log
Get the mp4split command line parameters, and the stderr logging from the
process.
Get Channel Remix Log
Get the Unified Remix command line parameters, and the stderr logging from
the process.
Gets a list of all pipelines associated to this channel for
any format
Gets a complete list of all pipelines for this channel.
Gets the default pipeline for this channel and format
Gets the default pipeline associated to this channel for this format.
Set a default pipeline for the channel
Activate a Manifest Edit use case for this channel, based on the provided
pipeline configuration.
The request body must be a valid yaml pipeline configuration file.
The use case is available at the default playout URI channel.isml/.{format}.
The playout URI is returned on success for clarity.
Deletes the default pipeline for the channel
Deletes and deactivates a previously set default pipeline for this channel.
The previously accessible playout URI will still be accessible, and will
return the default manifest, without any specific Manifest Edit use case
applied.
Get a list of any variant for this channel and its pipelines
Gets a list of all pipelines for this format, for any of the channel variant.
Gets pipeline for this channel variant and format
Gets the specific pipeline for this channel, format and variant.
Set a pipeline for this specific variant of the channel
Activate a Manifest Edit use case for this channel, based on the provided
pipeline configuration.
The request body must be a valid yaml pipeline configuration file.
A channel variant will be created, which is available at the playout URI
channel.isml/.{format}/?python_pipeline_config={variant}.
The playout URI is returned on success for clarity.
Deletes the pipeline associated to this specific variant of the channel
Deletes the pipeline associated to this channel format and variant.
The previously accessible playout URI will 404 after pipeline deletion.
Get Channel's SMIL
Get the SMIL playlist which was used to create this channel.
Get Channel's creation/update job status
Get the current status of a channel.
Includes both the overall status ["Pending", "In Progress", "Success", "Failed"]
and a detailed history.
Get Channel Transitions
Gets the complete list of transitions that have successfully been created for
this channel.
Get Transition Detail
Get all available details of the transition.
Submit a job for Transitions creation/update
Submits a job to create a transition or to modify an existing one.
The request body must be a valid SMIL XML playlist.
For VOD2Live playlists, the SMIL head section must contain at least the two options:
- vod2live (set to True)
- vod2live_start_time, in a valid ISO8601 format, as supported by mp4split.
For Live playlists, the SMIL must ... [WRITEME]
The SMIL body section must be non-empty.
If {transition} does not exist already, a job is scheduled to create one.
When a job is successfully scheduled, a 200 status is returned. The response will
include a 'task_id' and a 'status_url' which can be queried to check the job
status.
If {transition} exists, an update is attempted. This function is mostly dedicated
to modify "future" transitions that are not active yet (their transition time has
not yet expired). In fact, the update will fail if:
- a creation/update job is pending or running already. In this case, 503 is
returned. The update can be re-attempted later.
- the transition is active already (e.g. transition time in the past). In this
case, a 400 error is returned: the operation is prevented because modifying an
active transition would break running streams.
If you really want to update an active transition and possibly break playout, you
can do so by forcing the operation with the `force` query parameter. Use this with
extreme caution.
NOTICE: if your intent is to switch the channel to a different content (and keep the
existing archive) you should just add another "transition". If instead you need
to remove the transition, use the "DELETE" endpoint. See the FAQ to understand
how this may affect running streams.
Request Transition Deletion
Attempts to delete a transition.
If the transition is not found, returns 404.
If the transition is found but it has a pending or running creation/update job,
it returns 503.
If the transition is found and the task creation job is terminated (either
successfully or with a failure), deletes the transition. All other transitions
belonging to the same channels will not be affected and the channel will still
be working.
The deletion of a transition is only 100 percent safe if its transition time is in
the future, otherwise, running streams may break. Use with extreme caution.
Get Transition's ISML server manifest
Get the .isml server manifest file created by mp4split for this transition.
Get Transition Log
Get the command line parameters and stderr logs for both unified_remix and
mp4split commands.
If only a remix command is logged, i.e. because the remix process failed so
mp4split wasn't run, the mp4split entry will be empty.
Get Transition Mp4split Log
Get the mp4split command line parameters, and the stderr logging from the
process.
Get Transition Remix Log
Get the Unified Remix command line parameters, and the stderr logging from
the process.
Get Transition's SMIL
Get the SMIL playlist which was used to create this transition.
Get Transition's creation/update job status
Get the current status of a transition.
Includes both the overall status ["Pending", "In Progress", "Success", "Failed"]
and a detailed history.
Get License
Get Virtual Channel API's license
Get Version
Get Virtual Channel API's version string