CENC decryptor¶
Register name used to load filter: cdcrypt
This filter may be automatically loaded during graph resolution.
The CENC decryptor supports decrypting CENC, ISMA, HLS Sample-AES (MPEG2 ts) and Adobe streams.
For HLS, key is retrieved according to the key URI in the manifest.
Otherwise, the filter uses a configuration file.
The syntax is available at https://wiki.gpac.io/xmlformats/Common-Encryption
The DRM config file can be set per PID using the property DecryptInfo
(highest priority), CryptInfo
(lower priority) or set at the filter level using cfile (lowest priority).
When the file is set per PID, the first CryptInfo
with the same ID is used, otherwise the first CryptInfo
is used.When the file is set globally (not per PID), the first CrypTrack
in the DRM config file with the same ID is used, otherwise the first CrypTrack
with ID 0 or not set is used.
Options¶
cfile (str): crypt file location
decrypt (enum, default: full): decrypt mode (CENC only)
- full: decrypt everything, throwing error if keys are not found
- nokey: decrypt everything for which a key is found, skip decryption otherwise
- skip: decrypt nothing
- pad0: decrypt nothing and replace all crypted bits with 0
- pad1: decrypt nothing and replace all crypted bits with 1
- padsc: decrypt nothing and replace all crypted bytes with start codes
drop_keys (uintl): consider keys with given 1-based indexes as not available (multi-key debug)
kids (strl): define KIDs. If keys
is empty, consider keys with given KID (as hex string) as not available (debug)
keys (strl): define key values for each of the specified KID
hls_cenc_patch_iv (bool, default: false): ignore IV updates in some broken HLS+CENC streams