These examples show how to produce MPEG Transport Stream media through our exclusive Manzanita-based muxer that conforms to the CableLabs standard and passes the toughest QC checks of professional solutions like Baton.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action>
<source>[SourceFile]</source> <!-- required-->
<format> <!-- required -->
<output>cablelabs_mpegts</output> <!-- required-->
<framerate>[FrameRate]</framerate>
<video_codec>[VideoCodec]</video_codec>
<audio_codec>[AudioCodec]</audio_codec>
<audio_bitrate>[AudioBitrate]</audio_bitrate>
<!-- common format parameters -->
<!-- multiple closed_captions may be included -->
<closed_captions>
<mux_type>[MuxType]</mux_type>
<!-- closed captions parameters -->
</closed_captions>
<closed_captions>
<!-- closed captions parameters -->
</closed_captions>
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<id>>", // required
"action": "AddMedia",
"source": "[SourceFile]", // required
"format": { // required
"output": "cablelabs_mpegts", // required
"framerate": "[FrameRate]",
"video_codec": "[VideoCodec]",
"audio_codec": "[AudioCodec]",
"audio_bitrate": "[AudioBitrate]",
// common format parameters
// multiple closed_captions may be included
"closed_captions": [
{
"mux_type": "[MuxType]"
// closed captions parameters
}
]
}
}
}
Request With Default Values
Warning
Changing the default parameters listed below will risk violation of conformance with the CableLabs standard.
There are many interpretations of the CableLabs standard and compliance depending on which device is performing playout or other operations on a transport stream. We invite you to reach out for specific integrations or with any questions on what parameters might need to be modified for your specific use cases.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action>
<source>[SourceFile]</source> <!-- required-->
<format> <!-- required -->
<output>cablelabs_mpegts</output>
<framerate>[FrameRate]</framerate>
<video_codec>[VideoCodec]</video_codec>
<audio_codec>[AudioCodec]</audio_codec>
<audio_bitrate>[AudioBitrate]</audio_bitrate>
<audio_channels_number>[ChannelsNumber]</audio_channels_number>
<audio_sample_rate>[SampleRate]</audio_sample_rate>
<layout>[Layout]</layout>
<patvsn>[PATVersion]</patvsn>
<profile>[Profile]</profile>
<keyframe>[GOPSize]</keyframe>
<psipat_rep>[PATRepetitionRate]</psipat_rep>
<psipmt_rep>[PMTRepetitionRate]</psipmt_rep>
<veryfast>[yes|no]</veryfast>
<noemptyaf>[yes|no]</noemptyaf>
<pktsize>[PacketSize]</pktsize>
<forceduration>[yes|no]</forceduration>
<color_primaries>[ColorPrimaries]</color_primaries>
<transfer_characteristics>[TransferCharacteristics]</transfer_characteristics>
<matrix_coefficients>[MatrixCoefficients]</matrix_coefficients>
<!-- common format parameters -->
<video_codec_options>
<!-- common video codec options -->
<b_strategy>[BFStrategy]</b_strategy>
<sc_threshold>[SceneCutNumber]</sc_threshold>
<bf>[BFNumber]</bf>
<keyint_min>[MinGOPSize]</keyint_min>
<level>[Level]</level>
<b-pyramid>[0,1]</b-pyramid>
<open-gop>[0,1]</open-gop>
<refs>[RefsCount]</refs>
<flags2>[Flags]</flags2>
<!-- mpeg2video codec options -->
<seq_disp_ext>[SequenceDisplayExtension]</seq_disp_ext>
<video_format>[VideoFormat]</video_format>
<force-open-gop>[0,1]</force-open-gop>
<force-seq-header>[0,1]</force-seq-header>
<force-seq-extension>[0,1]</force-seq-extension>
<mpv_flags>[MPVFlags]</mpv_flags>
</video_codec_options>
<program>
<pmt_pid>[PID]</pmt_pid>
<pcr_per>[PCRPeriod]</pcr_per>
<pcr_pes>[yes|no]</pcr_pes>
</program>
<video_stream>
<pid>[PID]</pid>
<auinfo>[yes|no]</auinfo>
<quadbyte>[yes|no]</quadbyte>
<insertsec>[yes|no]</insertsec>
<notlowdelay>[yes|no]</notlowdelay>
<rai>[yes|no]</rai>
<pes_align>[yes|no]</pes_align>
</video_stream>
<!-- multiple audio_stream may be included -->
<audio_stream>
<pid>[PID]</pid>
<atscbuf>[yes|no]</atscbuf>
<rai>[yes|no]</rai>
<pes_align>[yes|no]</pes_align>
<!-- audio stream parameters -->
</audio_stream>
<audio_stream>
<!-- audio stream parameters -->
</audio_stream>
<!-- multiple closed_captions may be included -->
<closed_captions>
<mux_type>[MuxType]</mux_type>
<!-- closed captions parameters -->
</closed_captions>
<closed_captions>
<!-- closed captions parameters -->
</closed_captions>
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<id>>", // required
"action": "AddMedia",
"source": "[SourceFile]", // required
"format": { // required
"output": "cablelabs_mpegts",
"framerate": "[FrameRate]",
"video_codec": "[VideoCodec]",
"audio_codec": "[AudioCodec]",
"audio_bitrate": "[AudioBitrate]",
"audio_channels_number": "[ChannelsNumber]",
"audio_sample_rate": "[SampleRate]",
"layout": "[Layout]",
"patvsn": "[PATVersion]",
"profile": "[Profile]",
"keyframe": "[GOPSize]",
"psipat_rep": "[PATRepetitionRate]",
"psipmt_rep": "[PMTRepetitionRate]",
"veryfast": "[yes|no]",
"noemptyaf": "[yes|no]",
"pktsize": "[PacketSize]",
"forceduration": "[yes|no]",
"color_primaries": "[ColorPrimaries]",
"transfer_characteristics": "[TransferCharacteristics]",
"matrix_coefficients": "[MatrixCoefficients]",
// common format parameters
"video_codec_options": {
// common video codec options
"b_strategy": "[BFStrategy]",
"sc_threshold": "[SceneCutNumber]",
"bf": "[BFNumber]",
"keyint_min": "[MinGOPSize]",
"level": "[Level]",
"b-pyramid": "[0,1]",
"open-gop": "[0,1]",
"refs": "[RefsCount]",
"flags2": "[Flags]",
// mpeg2video codec options
"seq_disp_ext": "[SequenceDisplayExtension]",
"video_format": "[VideoFormat]",
"force-open-gop": "[0,1]",
"force-seq-header": "[0,1]",
"force-seq-extension": "[0,1]",
"mpv_flags": "[MPVFlags]"
},
"program": {
"pmt_pid": "[PID]",
"pcr_per": "[PCRPeriod]",
"pcr_pes": "[yes|no]"
},
"video_stream": {
"pid": "[PID]",
"auinfo": "[yes|no]",
"quadbyte": "[yes|no]",
"insertsec": "[yes|no]",
"notlowdelay": "[yes|no]",
"rai": "[yes|no]",
"pes_align": "[yes|no]"
},
"audio_stream": [
{
"pid": "[PID]",
"atscbuf": "[yes|no]",
"rai": "[yes|no]",
"pes_align": "[yes|no]"
}
],
"closed_captions": [
{
"mux_type": "[MuxType]"
}
]
}
}
}
Format Parameters
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
framerate | Specifies the frame rate. | 23.976, 24, 29.97, 30, 59.94 | none |
video_codec | Defines the codec used for your output. | libx264, mpeg2video, copy | libx264 |
audio_codec | Specify the audio codec | ac3, s302m, mp2 | ac3 |
audio_bitrate | Specify the audio bitrate. | Nk – where N is any non-zero integer. | 192k |
audio_channels_number | Specify the number of audio channels. | ac3 codec: non-zero integer | none |
audio_sample_rate | Specify the audio sampling frequency (Hz). | ac3 codec: non-zero integer | 48000 |
layout | Specify the output channels layout. | ac3 codec: mono, stereo, 2.1, 3.0, 3.0-back, 4.0, quad, quad-side, 3.1, 5.0, 5.0-side, 4.1, 5.1, 5.1-side, 6.0, 6.0-front, hexagonal, 6.1, 6.1, 6.1-front, 7.0, 7.0-front, 7.1, 7.1-wide, 7.1-wide-side, octagonal, downmix | none |
patvsn | PAT version number | Integer number between 0 and 31 | 0 |
profile | This defines various sets of capabilities which are referred to as profiles, that target specific classes of applications. | high, main, baseline | high |
keyframe | Defines the keyframe interval, in number of frames. | Positive integer | 23.976 fps, 24 fps: 12 |
psipat_rep | PAT repetition rate per second | Float number between 0.001 and 1000 | 8 |
psipmt_rep | PMT repetition rate per second | Float number between 0.001 and 1000 | 8 |
veryfast | Apply veryfast encoding profile | yes, no | no |
noemptyaf | Prevent empty Adaptation Fields | yes, no | yes |
pktsize | Output packet size | Integer number between 188 and 512 | 188 |
forceduration | Force the output stream to be of minimum duration | yes, no | no |
color_primaries | Color primaries |
| 2 |
transfer_characteristics | Transfer Characteristics |
| 2 |
matrix_coefficients | Matrix coefficients |
| 2 |
Video Codec Options
Program Parameters
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
pmt_pid | Program PID | Hex number between 0x10 - and 0x1ffe | 0x01e0 |
pcr_per | Time between PCRs | Positive integer number between 1 and 65535 | 40 |
pcr_pes | Insert PCRs on all PES packets | yes, no | yes |
Video Stream Parameters
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
pid | Stream PID | Hex number between 0x10 - and 0x1ffe | 0x01e1 |
auinfo | Insert access unit information data into the adaptation field | yes, no | yes |
quadbyte | Quad Byte | yes, no | yes |
insertsec | Video Ends with Sequence End Code | yes, no | yes |
notlowdelay | Stream should be multiplexed allowing for B-frame reordering | yes, no | yes |
rai | RAI on appropriate access units | yes, no | yes |
pes_align | Align access units to PES packets | yes, no | yes |
Audio Stream Parameters
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
pid | Stream PID | Hex number between 0x10 - and 0x1ffe | 0x01e2 |
atscbuf | Use ATSC buffer model for AC-3 | yes, no | yes |
rai | RAI on appropriate access units | yes, no | none |
pes_align | Align access units to PES packets | yes, no | none |
Closed Captions Parameters
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
mux_type | Closed Captions Mux Type | cea-608, cea-708 | none |