# N_m3u8DL-RE
**Repository Path**: anysharp/N_m3u8DL-RE
## Basic Information
- **Project Name**: N_m3u8DL-RE
- **Description**: .NET开源(MIT License)、免费、跨平台的DASH/HLS/MSS下载工具,并且支持点播和直播(DASH/HLS)的内容下载
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: https://www.cnblogs.com/Can-daydayup/p/18326897
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-12
- **Last Updated**: 2026-03-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# N_m3u8DL-RE [EN]
Cross-platform DASH/HLS/MSS download tool. Supports on-demand and live streaming (DASH/HLS).
[](https://github.com/nilaoda/N_m3u8DL-RE) [](https://github.com/nilaoda/N_m3u8DL-RE) [](https://github.com/nilaoda/N_m3u8DL-RE/releases) [](https://github.com/nilaoda/N_m3u8DL-RE) [](https://github.com/nilaoda/N_m3u8DL-RE/releases)
If you encounter a bug, please first confirm whether you are using the latest version of the software. (If you are using a release version, it is recommended to go to the [Actions](https://github.com/nilaoda/N_m3u8DL-RE/actions) page to download the latest automatically built version and check if the issue has already been fixed.) If you are using the latest version and the issue still exists, you can check the [Issues](https://github.com/nilaoda/N_m3u8DL-RE/issues) section to see if someone else has encountered a similar problem. If not, feel free to open a new issue.
---
The built-in terminal in older versions of Windows may not support this program. As an alternative, try running it in [cmder](https://github.com/cmderdev/cmder).
Arch Linux users can install from AUR: [n-m3u8dl-re-bin](https://aur.archlinux.org/packages/n-m3u8dl-re-bin), [n-m3u8dl-re-git](https://aur.archlinux.org/packages/n-m3u8dl-re-git)
```bash
# Install N_m3u8DL-RE release version on Arch Linux and its derivatives (not maintained by the author)
yay -Syu n-m3u8dl-re-bin
# Install N_m3u8DL-RE development version on Arch Linux and its derivatives (not maintained by the author)
yay -Syu n-m3u8dl-re-git
```
---
## Command line parameters
```
Description:
N_m3u8DL-RE (Beta version) 20241203
Usage:
N_m3u8DL-RE [options]
Arguments:
Input Url or File
Options:
--tmp-dir Set temporary file directory
--save-dir Set output directory
--save-name Set output filename
--base-url Set BaseURL
--thread-count Set download thread count [default: based on the number of CPU cores]
--download-retry-count The number of retries when download segment error [default: 3]
--http-request-timeout Timeout duration for HTTP requests (in seconds) [default: 100]
--force-ansi-console Force assuming the terminal is ANSI-compatible and interactive
--no-ansi-color Remove ANSI colors
--auto-select Automatically selects the best tracks of all types [default:
False]
--skip-merge Skip segments merge [default: False]
--skip-download Skip download [default: False]
--check-segments-count Check if the actual number of segments downloaded matches the
expected number [default: True]
--binary-merge Binary merge [default: False]
--use-ffmpeg-concat-demuxer When merging with ffmpeg, use the concat demuxer instead of
the concat protocol [default: False]
--del-after-done Delete temporary files when done [default: True]
--no-date-info Date information is not written during muxing [default: False]
--no-log Disable log file output [default: False]
--write-meta-json Write meta json after parsed [default: True]
--append-url-params Add Params of input Url to segments, useful for some
websites, such as kakao.com [default: False]
-mt, --concurrent-download Concurrently download the selected audio, video and subtitles
[default: False]
-H, --header Pass custom header(s) to server, Example:
-H "Cookie: mycookie" -H "User-Agent: iOS"
--sub-only Select only subtitle tracks [default: False]
--sub-format Subtitle output format [default: SRT]
--auto-subtitle-fix Automatically fix subtitles [default: True]
--ffmpeg-binary-path Full path to the ffmpeg binary, like C:\Tools\ffmpeg.exe
--log-level Set log level [default: INFO]
--ui-language Set UI language
--urlprocessor-args Give these arguments to the URL Processors.
--key Set decryption key(s) to mp4decrypt/shaka-packager/ffmpeg.
format:
--key KID1:KEY1 --key KID2:KEY2
or use --key KEY if all tracks share the same key.
--key-text-file Set the kid-key file, the program will search the KEY with
KID from the file.(Very large file are not recommended)
--decryption-engine Set the third-party program used for decryption [default:
MP4DECRYPT]
--decryption-binary-path Full path to the tool used for MP4 decryption, like
C:\Tools\mp4decrypt.exe
--mp4-real-time-decryption Decrypt MP4 segments in real time [default: False]
-R, --max-speed Set speed limit, Mbps or Kbps, for example: 15M 100K.
-M, --mux-after-done When all works is done, try to mux the downloaded streams.
Use "--morehelp mux-after-done" for more details
--custom-hls-method Set HLS encryption method
(AES_128|AES_128_ECB|CENC|CHACHA20|NONE|SAMPLE_AES|SAMPLE_AES_
CTR|UNKNOWN)
--custom-hls-key Set the HLS decryption key. Can be file, HEX or Base64
--custom-hls-iv Set the HLS decryption iv. Can be file, HEX or Base64
--use-system-proxy Use system default proxy [default: True]
--custom-proxy Set web request proxy, like http://127.0.0.1:8888
--custom-range Download only part of the segments. Use "--morehelp
custom-range" for more details
--task-start-at Task execution will not start before this time
--live-perform-as-vod Download live streams as vod [default: False]
--live-real-time-merge Real-time merge into file when recording live [default: False]
--live-keep-segments Keep segments when recording a live (liveRealTimeMerge
enabled) [default: True]
--live-pipe-mux Real-time muxing to TS file through pipeline + ffmpeg
(liveRealTimeMerge enabled) [default: False]
--live-fix-vtt-by-audio Correct VTT sub by reading the start time of the audio file
[default: False]
--live-record-limit Recording time limit when recording live
--live-wait-time Manually set the live playlist refresh interval
--live-take-count Manually set the number of segments downloaded for the first
time when recording live [default: 16]
--mux-import When MuxAfterDone enabled, allow to import local media files.
Use "--morehelp mux-import" for more details
-sv, --select-video Select video streams by regular expressions. Use "--morehelp
select-video" for more details
-sa, --select-audio Select audio streams by regular expressions. Use "--morehelp
select-audio" for more details
-ss, --select-subtitle Select subtitle streams by regular expressions. Use
"--morehelp select-subtitle" for more details
-dv, --drop-video Drop video streams by regular expressions.
-da, --drop-audio Drop audio streams by regular expressions.
-ds, --drop-subtitle Drop subtitle streams by regular expressions.
--ad-keyword Set URL keywords (regular expressions) for AD segments
--disable-update-check Disable version update check [default: False]
--allow-hls-multi-ext-map Allow multiple #EXT-X-MAP in HLS (experimental) [default:
False]
--morehelp