03 December 2020

Support for multiple DRM keys in manifests via CPIX integration

Added option to encrypt advanced multi-bitrate output streams with multiple CPIX keys.

<?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|advanced_dash|advanced_mss|fmp4_hls|advanced_fmp4]</output> <!-- required-->
        <destination>[DestFile]</destination> <!-- required-->
        <stream>
            <track_type>[Type]</track_type>
            <hdcp_level>[no|none|0|1]</hdcp_level>
            <!-- stream params -->
        </stream>
        <stream>
            <!-- stream params -->
        </stream>
        <!-- Format params -->
    </format>
</query>
{
    "query": {
        "userid": "<<id>>", // required
        "userkey": "<<key>>", // required
        "action": "[Action]", // required
        "source": "[SourceFile]", // required
        "format": {
            "output": "[advanced_hls|advanced_dash|advanced_mss|fmp4_hls|advanced_fmp4]", // required
            "destination": "[DestFile]", // required
            "stream": [
                {
                    "track_type": "[Type]",
                    "hdcp_level": "[no|none|0|1]"
                    // stream params
                },
                {
                    // stream params
                }
            ]
            // Format Params
        }
    }
}
ParameterDescriptionAllowed ValuesDefault Value
track_typeUsed to map stream and keys from CPIX response. Value should match with cpix:ContentKeyUsageRule@intendedTrackType. If it's value doesn't match with any ContentKeyUsageRule first key from CPIX response will be used.
In dash manifest Representations will be grouped to different AdaptationSets by track_type.
Stringnone
hdcp_levelHDCP-LEVEL attribute for HLS EXT-X-STREAM-INF tag in master manifest.no – to not add tag
none – HDCP-LEVEL=NONE
0 – HDCP-LEVEL=TYPE-0
1 – HDCP-LEVEL=TYPE-1
no