gitmyhub

N_m3u8DL-CLI

C# ★ 16k updated 3y ago

[.NET] m3u8 downloader 开源的命令行m3u8/HLS/dash下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等. 支持简体中文,繁体中文和英文. English Supported.

A Windows command-line downloader that grabs HLS or DASH video streams, decrypts AES segments, and stitches them into a single MP4 or TS file.

C#.NETFFmpegsetup: easycomplexity 2/5

N_m3u8DL-CLI is a command-line tool for downloading video streams that use the M3U8 or HLS (HTTP Live Streaming) format. M3U8 is a common format used for streaming video online — rather than one large file, the video is split into many small segments described in a playlist file. This tool downloads all those segments and assembles them into a single video file (MP4 or TS format).

The tool supports several practical features for video downloading. It can handle AES-128-CBC encryption (a common method used to protect streaming video) and automatically decrypts the segments. Downloads can run in parallel using multiple threads to speed things up. You can also set a maximum download speed, resume interrupted downloads, record live streams, and download only a specific portion of a video by time range. Custom HTTP headers are supported, which is useful for sites that require specific authentication tokens or cookies.

The tool also supports DASH streams and can download separate audio and subtitle tracks from a stream, then optionally merge them into a single file. A simple graphical helper is included for generating common command-line arguments without typing them manually.

The readme notes that this original version is based on .NET Framework and is now in maintenance mode, with a newer cross-platform rewrite called N_m3u8DL-RE available for those who need support beyond Windows. Written in C#.

Where it fits