Skip to content

bento:mp4hls-drmtoday

bento:mp4hls-drmtoday

Bento4 command to produce HLS with DRMtoday support

Full Documentation: bento4.com

Example:

{
  "tool": "bento:mp4hls-drmtoday",
  "parameters": {
    "merchant": "{merchant}",
    "password": "{pw}",
    "master_playlist_name": "master.m3u8",
    "variant_id": "{job_id}",
    "output_dir": "hls",
    "user": "test::vtktest",
    "asset_id": "vtk_integration_test_modern_encode_hls_{job_id}",
    "input": [
      "encode/tos_360.mp4",
      "encode/tos_576.mp4",
      "encode/tos_720.mp4",
      "encode/tos_864.mp4",
      "encode/tos_1080.mp4"
    ],
    "output_single_file": false,
    "verbose": true,
    "environment": "STAGING",
    "hls_version": "5"
  }
},

Muxed input mp4 and subtitles

[key1=value1,+key2=value2,+key3...]: chain input filters for stream selection

keys can be:

type: select media stream from file by type (audio, video)
track: select ISO track ID from iso file (1,2,3...)
language: select/define ISO track language ID (RFC5646: en, fr, ko,...)
language_name: select/define track language attribute (presented in HLS Manifest)
format: mandatory format specifier for adding subtitles (ttml, webvtt)
Example: One audio and one video stream in one input file selection
[type=video]avmedia1.mp4 [type=audio,+language=ko,+language_name=Korean]

Example: Add VTT Subtitles and set text language

[type=webvtt,+language=en,+language_name=English]languagetextfile.vtt
Parameter Properties Default Type Choice Description
asset_id required
environment required 'prod', 'test', 'staging', 'PROD', 'TEST', 'STAGING'
merchant required
password required
user required
input required [list value] source MP4 files (optionally prefixed with a stream selector) delimited by [ and ]
verbose optional false bool
force optional true bool
output_dir optional out str
hls_version optional (default: 3)
master_playlist_name optional
output_single_file optional false bool Output all the media in a single file instead of separate segment files. The segment filename template and segment URL template must be simple strings without '%d' or other printf-style patterns
segment_duration optional Target segment duration in seconds (default: 10)
segment_duration_threshold optional Segment duration threshold in milliseconds (default: 15)
signal_session_key optional false bool Signal an #EXT-X-SESSION-KEY tag in the master playlist
variant_id optional
exec_dir optional /usr/local/bin str