Skip to main content

Bento4

Bento4 is available in the NetActuate Marketplace as a one-click, open-source appliance you can deploy into any NetActuate PoP. Headless MP4, DASH, HLS and CMAF packaging with CENC DRM, driven over SSH. It is grouped under the Media & Streaming category.

What It Does

Bento4 is a fast, open-source C++ toolkit and command-line SDK for reading, writing and packaging ISO-MP4 media. It is the workhorse behind countless streaming pipelines: fragment MP4s for adaptive delivery, package to MPEG-DASH, Apple HLS, CMAF and Smooth Streaming, and encrypt with CENC / Common Encryption for Widevine, PlayReady, FairPlay, Marlin and PRIMETIME DRM.

Key features

  • MP4 inspection and editing: mp4dump, mp4info, mp4edit, mp4extract, mp4tag
  • Adaptive packaging: mp4fragment, mp4dash (DASH + HLS), mp42hls, mp42ts
  • CENC / Common Encryption for DRM: mp4encrypt / mp4decrypt with per-track KID:KEY
  • Elementary-stream and container conversion: mp42aac, mp42avc, mp42hevc, mp4mux
  • Full Python SDK utilities (mp4-dash, mp4-hls) installed under /opt/bento4

Use cases

  • Origin-side packaging of VOD assets to DASH/HLS/CMAF close to your viewers
  • Applying CENC DRM (Widevine/PlayReady/FairPlay) before delivery
  • Batch MP4 inspection, repair, fragmentation and remux in a CI/CD or cron pipeline

Why run it on the NetActuate edge Packaging and encrypting at a PoP near your storage and viewers shortens the path for large media transfers and keeps your masters and DRM keys on infrastructure you control.

This is a HEADLESS appliance: there is no web console. The full Bento4 CLI/SDK is on the system PATH; sign in over SSH and run the tools. The appliance also serves a co-located landing/instructions page over HTTP (default port 80) that documents the commands and shows a first-boot self-check (an mp4dump version probe plus a real fragment+HLS packaging of a bundled sample); the page fails closed with HTTP 503 if the toolchain is not healthy. A ready-to-use sample MP4 ships at /var/lib/bento4/sample.mp4.

Vendor and Project

Bento4 is an open-source project, offered here under the Open Source listing with best-effort community support.

NetActuate supports the underlying infrastructure. Application-level support follows the listing SLA class (open-source, best effort).

Sizing

vCPURAMDisk
Minimum11 GB20 GB
Recommended22 GB40 GB

No VPU (hardware acceleration) is required for this appliance. Choose a size at deploy based on your expected load.

Configuration Fields

When you deploy, you provide these fields. They are written into the appliance at first boot.

FieldRequiredDefaultNotes
Landing page portNo80TCP port for the co-located landing / instructions page served over HTTP (default 80). The appliance is headless otherwise; all tools run over SSH.

Using the Appliance

Drive Bento4 over SSH

  1. Open the landing page. Browse to http://YOUR_VM_IP/ for the command reference and a live self-check (and http://YOUR_VM_IP/health for machine status).
  2. SSH in. The full CLI/SDK is at /opt/bento4 and on your PATH. A sample MP4 is at /var/lib/bento4/sample.mp4.
  3. Package for streaming.
    mp4fragment input.mp4 input-frag.mp4
    mp4dash -o out/ input-frag.mp4 # DASH + HLS
    mp42hls input-frag.mp4 # HLS only
  4. Apply CENC DRM.
    mp4encrypt --method MPEG-CENC --key 1:<32-hex-key>:random \
    --property 1:KID:<32-hex-kid> input-frag.mp4 input-enc.mp4
    mp4dash --encryption-key <kid>:<key> -o out-drm/ input-enc.mp4

Exposure posture: the landing page serves plain HTTP on the landing port. This appliance has no application login; access is via SSH keys only.

FAQ

Is there a software license fee? No. Bento4 is open source and free to run. You pay only for the NetActuate infrastructure and bandwidth.

Which port does the appliance serve on? The primary service is published on port 80 by default; see the configuration fields for any adjustable ports.

Who supports it? NetActuate operates the underlying infrastructure. The application itself is community-supported open source (best-effort SLA class).

Version and Changelog

VersionStatusReleased
1.6.0-641Current (default)2026-07-14

Deploy


Need Help?

Contact support@netactuate.com or open a support ticket from the portal.