Repository navigation
m314dl v0.2.0
m314dl v0.2.0
Fast HLS (.m3u8) and DASH (.mpd) video downloader in a single static binary,
with native in-process CENC decryption — no mp4decrypt, no shaka-packager.
New since v0.1.0
- First subtitle is flagged default in the muxed output, so a player turns
subtitles on without the viewer picking a track. - BBTS decryption (
-bbts-key) for iQiyi-style encrypted MPEG-TS segments —
whole-segment AES with the per-segment IV read from the stream's SDT. - Idle watchdog: a silently-throttled connection that sends no bytes for 30s
is abandoned and retried (resuming from disk) instead of stalling the whole
download at 0 B/s. - Smarter stream scheduling: many streams run concurrently while each
subtitle track is capped to a few workers, so 25 tiny-segment subtitle tracks
no longer serialize into a latency tail after the video finishes.
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; multi-period DASH; subtitles.
- Kill-proof resume: segments stream to part files with HTTP byte-range
resume, checkpointed on every commit — an interrupted or hard-killed download
continues byte-exact, losing at most the segment in flight. - Fast on real networks: one HTTP/1.1 connection per in-flight request
(not a single multiplexed HTTP/2 flow); adaptive concurrency, or a held-t N.
Backs off from rate limits (honorsRetry-After). - Local file input, page scraping, cookies, proxy, custom headers. Needs
ffmpegonPATHfor muxing.
Downloads
| Platform | Archive |
|---|---|
| Linux x86-64 | m314dl_v0.2.0_linux_amd64.tar.gz |
| Linux ARM64 | m314dl_v0.2.0_linux_arm64.tar.gz |
| Linux ARMv7 | m314dl_v0.2.0_linux_arm.tar.gz |
| macOS Intel | m314dl_v0.2.0_darwin_amd64.tar.gz |
| macOS Apple Silicon | m314dl_v0.2.0_darwin_arm64.tar.gz |
| Windows x86-64 | m314dl_v0.2.0_windows_amd64.zip |
| Windows ARM64 | m314dl_v0.2.0_windows_arm64.zip |
Install (Linux/macOS)
tar xzf m314dl_v0.2.0_<os>_<arch>.tar.gz
sudo mv m314dl_v0.2.0_<os>_<arch>/m314dl /usr/local/bin/
m314dl -versionVerify downloads against SHA256SUMS.