Skip to content

m314dl v0.2.0

Choose a tag to compare

@mohaanymo mohaanymo released this 19 Aug 06:24

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 vs mp4decrypt). 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 (honors Retry-After).
  • Local file input, page scraping, cookies, proxy, custom headers. Needs
    ffmpeg on PATH for 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 -version

Verify downloads against SHA256SUMS.