Repository navigation
m314dl v0.3.1
m314dl v0.3.1
Fast HLS (.m3u8) and DASH (.mpd) video downloader in a single static binary,
with native in-process CENC decryption — no mp4decrypt, no shaka-packager.
Fixes since v0.3.0
- Decrypted output is now a clean, unprotected stream. After CENC
decryption the boxes still declared the stream encrypted (init typed its
samplesencv/encawithsinf/tenc/pssh; every fragment carried
senc/saiz/saio), so a player orffmpegthat trusted them tried to
"decrypt" the already-plaintext samples and rendered a black picture. The
init is now de-protected (codec fourcc restored fromsinf→frma,sinf
andpsshremoved) andsenc/saiz/saioare stripped from each fragment —
correct for any mux target and for-no-mux. - Flags work in any order relative to the URL —
m314dl -o out.mp4 URL -t 16
andm314dl URL -o out.mp4now behave identically (flags after the URL were
previously ignored).
Core features
- Native CENC / cbcs decryption, per-fragment as the stream downloads
(byte-exact vsmp4decrypt). Supply the key with-key KID:KEY. - HLS + DASH, VOD and live; AES-128; BBTS; multi-period DASH; subtitles
(first subtitle flagged default, or-sub-externalsidecars). - Restream / live republish (
-serve:hls/ts/dash), plus a
multi-channel worker (-worker) and an RPC server (-rpc). - Kill-proof resume: segments stream to part files with HTTP byte-range
resume, checkpointed on every commit — an interrupted download continues
byte-exact, losing at most the segment in flight. - Fast on real networks: one HTTP/1.1 connection per in-flight request;
adaptive concurrency, or a held-t N. Backs off from rate limits. - Local file input, page scraping, cookies, proxy, custom headers,
-ffmpeg.
NeedsffmpegonPATH(or-ffmpeg) for muxing.
Downloads
| Platform | Archive |
|---|---|
| Linux x86-64 | m314dl_v0.3.1_linux_amd64.tar.gz |
| Linux ARM64 | m314dl_v0.3.1_linux_arm64.tar.gz |
| Linux ARMv7 | m314dl_v0.3.1_linux_arm.tar.gz |
| macOS Intel | m314dl_v0.3.1_darwin_amd64.tar.gz |
| macOS Apple Silicon | m314dl_v0.3.1_darwin_arm64.tar.gz |
| Windows x86-64 | m314dl_v0.3.1_windows_amd64.zip |
| Windows ARM64 | m314dl_v0.3.1_windows_arm64.zip |
Install (Linux/macOS)
tar xzf m314dl_v0.3.1_<os>_<arch>.tar.gz
sudo mv m314dl_v0.3.1_<os>_<arch>/m314dl /usr/local/bin/
m314dl -versionVerify downloads against SHA256SUMS.