09 June 2022
over 2 years ago by Encoding.com Product Team #2
Extended Data Services
Added support of Extended Data Services data.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>addMedia</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<format> <!-- required -->
<output>[OutputFormat]</output> <!-- required -->
<xds>
<network_name>
<name>[Name]</name>
<rate>[InsertionRate]</rate>
</network_name>
<program_name>
<name>[Name]</name>
<rate>[InsertionRate]</rate>
</program_name>
<copy_and_redistribution_control>
<cgms_a>[CGMSAOption]</cgms_a>
<aps>[APSOption]</aps>
<asb>[on|off]</asb>
<rcd>[on|off]</rcd>
<rate>[InsertionRate]</rate>
</copy_and_redistribution_control>
<content_advisory>
<system>[MPA|USTVPG|CELR|CFLR]</system>
<rating>[RatingOption]</rating>
<content_flag>[ContentFlag1]</content_flag>
<content_flag>[ContentFlag2]</content_flag>
<!-- ... -->
<content_flag>[ContentFlagN]</content_flag>
<rate>[InsertionRate]</rate>
</content_advisory>
</xds>
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "[Action]", // required
"source": "[SourceFile]", // required
"format": {
"output": "[OutputFormat]", // required
"xds": {
"network_name": {
"name": "[Name]",
"rate": "[InsertionRate]"
},
"program_name": {
"name": "[Name]",
"rate": "[InsertionRate]"
},
"copy_and_redistribution_control": {
"cgms_a": "[CGMSAOption]",
"aps": "[APSOption]",
"asb": "[on|off]",
"rcd": "[on|off]",
"rate": "[InsertionRate]"
},
"content_advisory": {
"system": "[MPA|USTVPG|CELR|CFLR]",
"rating": "[RatingOption]",
"content_flag": [
"[ContentFlag1]",
"[ContentFlag2]",
// ...
"[ContentFlagN]"
],
"rate": "[InsertionRate]"
}
}
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
Network name parameters | |||
name | Network name | String which contain any characters from CEA-608-E character set. Value length should be between 2 and 32 characters included. Special characters should be presented in CEA encoding. | none |
rate | Insertion rate in seconds | Positive float number | none |
Program name parameters | |||
name | Program name | String which contain any characters from CEA-608-E character set. Value length should be between 2 and 32 characters included. Special characters should be presented in CEA encoding. | none |
rate | Insertion rate in seconds | Positive float number | none |
Copy and redistribution control parameters | |||
cgms_a | CGMS-A option | • copying_permitted – Copying is permitted • no_more_copies – No more copies • one_generation_may_be_made – One generation may be made • no_copying_permitted – No copying is permitted | none |
aps | APS option | • no_aps – No APS • psp_on_split_burst_off – PSP On; Split Burst Off • psp_on_2_line_split_burst – PSP On; 2 line Split Burst • psp_on_4_line_split_burst – PSP On; 4 line Split Burst | none |
asb | ASB bit | on, off | none |
rcd | RCD bit | on, off | none |
rate | Insertion rate in seconds | Positive float number | none |
Content advisory parameters | |||
system | Rating system | MPA, USTVPG, CELR, CFLR | none |
rating | Rating value | MPA: N/A, G, PG, PG-13, R, NC-17, X, Not Rated USTVPG: None, TV-Y, TV-Y7, TV-G, TV-PG, TV-14, TV-MA CELR: E, C, C8+, G, PG, 14+, 18+ CFLR: E, G, 8+, 13+, 16+, 18+ | none |
content_flag | List of USTVPG content flags | FV, V, S, L, D | Empty list |
rate | Insertion rate in seconds | Positive float number | none |
For content_flag
The <content_flag /> parameter is only applicable to USTVPG system.
CEA characters encoding table
Code | Character | Description |
---|---|---|
0x20 | | Space |
0x21 | ! | Exclamation mark |
0x22 | " | Quotation mark |
0x23 | # | Pounds (number) sign |
0x24 | $ | Dollar sign |
0x25 | % | Percentage sign |
0x26 | & | Ampersand |
0x27 | ' | Apostrophe |
0x28 | ( | Open parentheses |
0x29 | ) | Close parentheses |
0x2a | á | Lower-case a with acute accent |
0x2b | + | Plus sign |
0x2c | , | Comma |
0x2d | - | Minus (hyphen) sign |
0x2e | . | Period |
0x2f | / | Slash |
0x30 | 0 | Zero |
0x31 | 1 | One |
0x32 | 2 | Two |
0x33 | 3 | Three |
0x34 | 4 | Four |
0x35 | 5 | Five |
0x36 | 6 | Six |
0x37 | 7 | Seven |
0x38 | 8 | Eight |
0x39 | 9 | Nine |
0x3a | : | Colon |
0x3b | ; | Semi-colon |
0x3c | < | Less than sign |
0x3d | = | Equal sign |
0x3e | > | Greater than sign |
0x3f | ? | Question mark |
0x40 | @ | At sign |
0x41 | A | Upper-case A |
0x42 | B | Upper-case B |
0x43 | C | Upper-case C |
0x44 | D | Upper-case D |
0x45 | E | Upper-case E |
0x46 | F | Upper-case F |
0x47 | G | Upper-case G |
0x48 | H | Upper-case H |
0x49 | I | Upper-case I |
0x4a | J | Upper-case J |
0x4b | K | Upper-case K |
0x4c | L | Upper-case L |
0x4d | M | Upper-case M |
0x4e | N | Upper-case N |
0x4f | O | Upper-case O |
0x50 | P | Upper-case P |
0x51 | Q | Upper-case Q |
0x52 | R | Upper-case R |
0x53 | S | Upper-case S |
0x54 | T | Upper-case T |
0x55 | U | Upper-case U |
0x56 | V | Upper-case V |
0x57 | W | Upper-case W |
0x58 | X | Upper-case X |
0x59 | Y | Upper-case Y |
0x5a | Z | Upper-case Z |
0x5b | [ | Open bracket |
0x5c | é | Lower-case e with acute accent |
0x5d | ] | Close bracket |
0x5e | í | Lower-case i with acute accent |
0x5f | ó | Lower-case o with acute accent |
0x60 | ú | Lower-case u with acute accent |
0x61 | a | Lower-case a |
0x62 | b | Lower-case b |
0x63 | c | Lower-case c |
0x64 | d | Lower-case d |
0x65 | e | Lower-case e |
0x66 | f | Lower-case f |
0x67 | g | Lower-case g |
0x68 | h | Lower-case h |
0x69 | i | Lower-case i |
0x6a | j | Lower-case j |
0x6b | k | Lower-case k |
0x6c | l | Lower-case l |
0x6d | m | Lower-case m |
0x6e | n | Lower-case n |
0x6f | o | Lower-case o |
0x70 | p | Lower-case p |
0x71 | q | Lower-case q |
0x72 | r | Lower-case r |
0x73 | s | Lower-case s |
0x74 | t | Lower-case t |
0x75 | u | Lower-case u |
0x76 | v | Lower-case v |
0x77 | w | Lower-case w |
0x78 | x | Lower-case x |
0x79 | y | Lower-case y |
0x7a | z | Lower-case z |
0x7b | ç | Lower-case c with cedilla |
0x7c | ÷ | Division sign |
0x7d | Ñ | Upper-case N with tilde |
0x7e | ñ | Lower-case n with tilde |
0x7f | ■ | Solid block |
B-HLS Content Encryption
Specific B-HLS content encryption for harmonic XOS devices for satellite or IP based delivery
Key Exchange
To use B-HLS content encryption you need to add specific encryption certificates that will be stored on our side and later you will be able to use these certificates in the output DRM settings.
Add Certificate
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddBhlsCert</action> <!-- required-->
<x509>[X509Certificate]</x509> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "AddBhlsCert", // required
"x509": "[X509Certificate]", // required
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
x509 | Certificate data | x509 Certificate data | none |
List Added Certificates Key Identifiers
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>ListBhlsCert</action> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "ListBhlsCert" // required
}
}
Delete Certificate
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>DeleteBhlsCert</action> <!-- required-->
<subject_key_identifier>[KeyID]</subject_key_identifier> <!-- required-->
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "DeleteBhlsCert", // required
"subject_key_identifier": "[KeyID]" // required
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
subject_key_identifier | Certificate identifier that might be fetched with ListBhlsCert request | String | none |
Format Parameters
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<source>[SourceFile]</source> <!-- required-->
<format>
<output>[advanced_hls|fmp4_hls]</output> <!-- required-->
<destination>[DestinationURL]</destination> <!-- required-->
<stream>
<!-- Manifests fields -->
<manifest>
<basename>[BaseName]</basename> <!-- required-->
<bhls_drm>[yes|no]</bhls_drm>
<!-- manifest params -->
</manifest>
<!-- Multiple manifests may be included -->
<manifest>
<!-- manifest params -->
</manifest>
<!-- stream params -->
</stream>
<!-- Multiple stream params may be included in advanced_hls output format -->
<!-- Maximum number of available streams is 15 -->
<stream>
<!-- stream params -->
</stream>
<bhls_drm>[yes|no]</bhls_drm>
<bhls_drm_certificates>
<subject_key_identifier>[KeyID_1]</subject_key_identifier>
<subject_key_identifier>[KeyID_2]</subject_key_identifier>
<!-- ... -->
<subject_key_identifier>[KeyID_N]</subject_key_identifier>
</bhls_drm_certificates>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "[Action]", // required
"source": "[SourceFile]", // required
"format": {
"output": "[advanced_hls|fmp4_hls]", // required
"destination": "[DestinationURL]", // required
"stream": [
{
"manifest": [
{
"basename": "[BaseName]",
"bhls_drm": "[yes|no]"
},
{
// manifest params
}
]
// stream params
},
{
// stream params
}
],
"bhls_drm": "[yes|no]",
"bhls_drm_certificates": {
"subject_key_identifier": [
"[KeyID_1]",
"[KeyID_2]",
// ...
"[KeyID_N]"
]
}
// format params
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
Format Parameters | |||
bhls_drm | Apply B-HLS Content Encryption | yes, no | no |
bhls_drm_certificates | B-HLS Content Encryption Certificates | ||
subject_key_identifier | Certificate Identifier | String | none |
Stream Manifest Parameters | |||
bhls_drm | Apply B-HLS Content Encryption for manifest | yes, no | no |
QC Validation of B-HLS Content Encryption Signature
Added support of B-HLS Content Encryption validation in QC DRM URI test.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action> <!-- required-->
<source>[SourceFile|SourcePlaylist]</source> <!-- required -->
<format>
<output>[qc_check|advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls]</output> <!-- required -->
<qc>
<qc_drm_uri>
<value>[DRMType]</value>
<severity>[fatal|warning]</severity>
<bhls_signature>[BHLSSignature]</bhls_signature>
</qc_drm_uri>
</qc>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "AddMedia", // required
"source": "[SourceFile|SourcePlaylist]", // required
"format": {
"output": "[qc_check|advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls]", // required
"qc": {
"qc_drm_uri": {
"value": "[DRMType]",
"severity": "[fatal|warning]",
"bhls_signature": "[BHLSSignature]"
}
}
// format params
}
}
}
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>AddMedia</action> <!-- required-->
<source>[SourceFile|SourcePlaylist]</source> <!-- required -->
<format>
<output>[qc_check|advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls]</output> <!-- required -->
<stream>
<qc>
<qc_drm_uri>
<value>[DRMType]</value>
<severity>[fatal|warning]</severity>
<bhls_signature>[BHLSSignature]</bhls_signature>
</qc_drm_uri>
</qc>
<!-- stream params -->
</stream>
<!-- format params -->
</format>
</query>
{
"query": {
"userid": "<<id>>", // required
"userkey": "<<key>>", // required
"action": "AddMedia", // required
"source": "[SourceFile|SourcePlaylist]", // required
"format": {
"output": "[qc_check|advanced_hls|advanced_dash|advanced_fmp4|fmp4_hls]", // required
"stream": [{
"qc": {
"qc_drm_uri": {
"value": "[DRMType]",
"severity": "[fatal|warning]",
"bhls_signature": "[BHLSSignature]"
}
}
// stream params
}]
// format params
}
}
}
Parameter | Description | Allowed Values | Default Value |
---|---|---|---|
value | DRM Service name | Comma separated list of DRM types where: • widevine – Widevine DRM Packager • fairplay* – FairPlay DRM • access – FlashAccess DRM • clearkey – ClearKey DRM • **playready – PlayReady DRM • bhls – B-HLS Content Encryption | none |
bhls_signature | B-HLS Content Encryption Signature | Base64 encoded JSON data URI | none |