nginx-vod-module – NGINX-based MP4 Repackager
Features
- On-the-fly repackaging of MP4 files to DASH, HDS, HLS, MSS
- Working modes:
- Local – serve locally accessible files (local disk/NFS mounted)
- Remote – serve files accessible via HTTP using range requests
- Mapped – serve files according to a specification encoded in JSON format. The JSON can pulled from a remote server, or read from a local file
- Adaptive bitrate support
- Playlist support (playing several different media files one after the other) – mapped mode only
- Simulated live support (generating a live stream from MP4 files) – mapped mode only
- Fallback support for file not found in local/mapped modes (useful in multi-datacenter environments)
- Video codecs: H264, H265 (DASH/HLS)
- Audio codecs: AAC
- Audio only/video only files
- Alternative audio renditions – supporting both:
- Generation of manifest with different audio renditions, allowing selection on the client side
- Muxing together audio and video streams from separate files / tracks – provides the ability to serve different audio renditions of a single video, without the need for any special support on the client side.
- Track selection for multi audio/video MP4 files
- Playback rate change – 0.5x up to 2x (requires libavcodec and libavfilter)
- Source file clipping (only from I-Frame to P-frame)
- Support for variable segment lengths – enabling the player to select the optimal bitrate fast, without the overhead of short segments for the whole duration of the video
- Clipping of MP4 files for progressive download playback
- Decryption of CENC-encrypted MP4 files (it is possible to create such files with MP4Box)
- DASH: common encryption (CENC) support
- MSS: PlayReady encryption support
- HLS: Generation of I-frames playlist (EXT-X-I-FRAMES-ONLY)
- HLS: support for AES-128 / SAMPLE-AES encryption
מקור: kaltura/nginx-vod-module: NGINX-based MP4 Repackager