16 February 2015
almost 10 years ago by Encoding.com Product Team
Available for output formats: mpeg_dash.
Additional information: http://www.widevine.com/wv_drm.html
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<format>
<widevine>yes</widevine>
<widevine_key_server_url>[Key server URL(https:// only)]</widevine_key_server_url>
<widevine_aes_signing_key>[AES signing key(HEX)]</widevine_aes_signing_key>
<widevine_aes_signing_iv>[AES signing initialization vector(HEX)]</widevine_aes_signing_iv>
<widevine_signer>[Signer name]</widevine_signer>
<widevine_content_id>[Content ID]</widevine_content_id>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"format": {
"widevine": "yes",
"widevine_key_server_url": "[Key server URL(https:// only)]",
"widevine_aes_signing_key": "[AES signing key(HEX)]",
"widevine_aes_signing_iv": "[AES signing initialization vector(HEX)]",
"widevine_signer": "[Signer name]",
"widevine_content_id": "[Content ID]"
}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
widevine | use Widevine DRM | yes, no | no |
widevine_key_server_url | Key server URL | Valid URL | None |
widevine_aes_signing_key | AES key | 32 HEX chars | None |
widevine_aes_signing_iv | AES initialization vector | 32 HEX chars | None |
widevine_signer | Signer name | String | None |
widevine_content_id | Content ID | String | None |
Supported by all formats except iphone_stream, ipad_stream, roku_hls and advanced_hls formats(these formats have own encryption implementation).
Destination required for encryption without specifying encryption_key or encryption_key_file.
Key used for encryption would be uploaded to the same destination as output file, with .key extension.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<format>
<encryption>[yes|no]</encryption>
<encryption_method>[aes-128-cbc|aes-128-ctr|aes-256-cbc|aes-256-ctr]</encryption_method>
<encryption_key>[Hexidecimal string]</encryption_key>
<encryption_key_file>[URL]</encryption_key_file>
<encryption_iv>[Hexidecimal string]</encryption_iv>
<encryption_password>[Password]</encryption_password>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"format": {
"encryption": "[yes|no]",
"encryption_method": "[aes-128-cbc|aes-128-ctr|aes-256-cbc|aes-256-ctr]",
"encryption_key": "[Hexidecimal string]",
"encryption_key_file": "[URL]",
"encryption_iv": "[Hexidecimal string]",
"encryption_password": "[Password]"
}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
encryption | Encrypt output file | yes, no | no |
encryption_method | Encryption method | aes-128-cbc, aes-128-ctr, aes-256-cbc, aes-256-ctr | aes-128-cbc |
encryption_key | Encryption key | 32 hexidecimal characters ([0-9a-f]) | None |
encryption_key_file | Encryption key file URL | Valid URL to encryption key file | None |
encryption_iv | Encryption initialization vector | 32 hexidecimal characters ([0-9a-f]) | None |
encryption_password | Password use for initialization vector generation | any set of characters | None |
You can use encrypted source files for your media - just add following decryption params to the container.
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<source>[FileURL]</source>
<decryption>[yes|no]</decryption>
<decryption_method>[aes-128-cbc|aes-128-ctr|aes-256-cbc|aes-256-ctr]</decryption_method>
<decryption_key>[Hexidecimal string]</decryption_key>
<decryption_key_file>[URL]</decryption_key_file>
<decryption_iv>[Hexidecimal string]</decryption_iv>
<decryption_password>[Password]</decryption_password>
<format>
<!-- Format Fields -->
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"source": "[FileURL]",
"decryption": "[yes|no]",
"decryption_method": "[aes-128-cbc|aes-128-ctr|aes-256-cbc|aes-256-ctr]",
"decryption_key": "[Hexidecimal string]",
"decryption_key_file": "[URL]",
"decryption_iv": "[Hexidecimal string]",
"decryption_password": "[Password]",
"format": {}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
decryption | Encrypt output file | yes, no | no |
decryption_method | Decryption method | aes-128-cbc, aes-128-ctr, aes-256-cbc, aes-256-ctr | aes-128-cbc |
decryption_key | Decryption key | 32 hexidecimal characters ([0-9a-f]) | None |
decryption_key_file | Decryption key file URL | Valid URL to decryption key file | None |
decryption_iv | Decryption initialization vector | 32 hexidecimal characters ([0-9a-f]) | None |
decryption_password | Password use for initialization vector generation | any set of characters | None |
Alpha-transparent video overlay
Added support of 'RLE(qtrle)' video format for video overlay.
Harmonic GRID encoder
Added option to disable GRID encoder for Harmonic format
<?xml version="1.0"?>
<query>
<userid><<id>></userid> <!-- required-->
<userkey><<key>></userkey> <!-- required-->
<action>[Action]</action> <!-- required-->
<format>
<output>harmonic</output>
<!-- harmonic preset options -->
<use_grid_encoder>[yes|no]</use_grid_encoder>
</format>
</query>
{
"query": {
"userid": "<<id>>",
"userkey": "<<key>>",
"action": "[Action]",
"format": {
"output": "harmonic",
"use_grid_encoder": "[yes|no]"
}
}
}
Field Name | Description | Allowed Values | Default Values |
---|---|---|---|
use_grid_encoder | Use GRID encoder *The GOP structure may be changed to "variable" while using GRID encoder | yes, no | yes |