Learn how to use Bento4 to package your media for Studio DRM.

Bento4 is a C++ class library and tools designed to read and write ISO-MP4 files. In addition to supporting ISO-MP4, Bento4 provides support for multiple DRM systems that are compatible with MP4-formatted content (usually leveraging CENC Common Encryption), such as PlayReady, Widevine, and FairPlay.

Implement Studio DRM with Bento4

  1. Download the Bento4 binaries for the applicable operating system.
  2. Add the filepath for the Bento4 binaries bin folder as a value to the PATH environment variables on your computer.
  3. Retrieve the Content Protection Information Exchanged (CPIX) documents. These are required to give Bento4 the necessary information to encrypt your media.
  4. Package your content with Bento4. The values from the CPIX documents need to be copied and pasted to the corresponding section in the following examples.
mp4dash \
--hls \
--encryption-key=<key_id_hex>:<content_key_hex_value>:<iv_hex_value> \
--encryption-cenc-scheme=cbcs \
--fairplay-key-uri=<fairplay_laurl_value> \
--hls-master-playlist-name=<name_of_manifest>.m3u8 \
<name_of_video_file>.mp4 \
mp4dash \
--encryption-key=<key_id_hex_value>:<content_key_hex_value> \
--playready \
--widevine-header=#<Widevine_PSSH> \
--mpd-name=<name_of_manifest>.mpd \
<name_of_video_file>.mp4 \


If you upload your packaged files and manifest to AWS S3 or an equivalent hosting service, you can test your packaged content with this stream tester.