███╗   ██╗        ███╗   ███╗██████╗ ██╗   ██╗ █████╗ ██████╗ ██╗       ██████╗██╗     ██╗
████╗  ██║        ████╗ ████║╚════██╗██║   ██║██╔══██╗██╔══██╗██║      ██╔════╝██║     ██║
██╔██╗ ██║        ██╔████╔██║ █████╔╝██║   ██║╚█████╔╝██║  ██║██║█████╗██║     ██║     ██║
██║╚██╗██║        ██║╚██╔╝██║ ╚═══██╗██║   ██║██╔══██╗██║  ██║██║╚════╝██║     ██║     ██║
██║ ╚████║███████╗██║ ╚═╝ ██║██████╔╝╚██████╔╝╚█████╔╝██████╔╝███████╗ ╚██████╗███████╗██║
╚═╝  ╚═══╝╚══════╝╚═╝     ╚═╝╚═════╝  ╚═════╝  ╚════╝ ╚═════╝ ╚══════╝  ╚═════╝╚══════╝╚═╝

下载使用

  • 发行版: https://github.com/nilaoda/N_m3u8DL-CLI/releases
  • 自动构建版(供测试): https://github.com/nilaoda/N_m3u8DL-CLI/actions

关于开源

本项目已于2019年10月9日开源,采用MIT许可证,各取所需。

关于跨平台

  • N_m3u8DL-CLI (本项目): 基于 .NET Framework, 不具备跨平台能力. 目前已进入维护阶段.

  • N_m3u8DL-RE : 抛弃历史包袱从零做起, 支持Win/Linux/Mac, 更丰富的功能会在这里出现 …

N_m3u8DL-CLI

一个简单易用的m3u8下载器,下载地址:https://github.com/nilaoda/N_m3u8DL-CLI/releases

支持下载m3u8链接或文件为mp4ts格式,并提供丰富的命令行选项。

  • 不支持优酷视频解密
  • 不支持气球云视频解密
  • 支持AES-128-CBC加密自动解密
  • 支持多线程下载
  • 支持下载限速
  • 支持断点续传
  • 支持Master List
  • 支持直播流录制(BETA)
  • 支持自定义HTTP Headers
  • 支持自动合并 (二进制合并或使用ffmpeg合并)
  • 支持选择下载m3u8中的指定时间段/分片内容
  • 支持下载路径为网络驱动器的情况
  • 支持下载外挂字幕轨道、音频轨道
  • 支持仅合并为音频
  • 支持设置特定http代理
  • 支持自动使用系统代理(默认行为, 可禁止)
  • 支持m3u8dl链接协议(通过web链接调用本机客户端)
  • 提供SimpleG简易的GUI生成常用参数

命令行选项

N_m3u8DL-CLIUSAGE:N_m3u8DL-CLI <URL|JSON|FILE> [OPTIONS]OPTIONS:--workDir                  设定程序工作目录--saveName                 设定存储文件名(不包括后缀)--baseUrl                  设定Baseurl--headers                  设定请求头,格式 key:value 使用|分割不同的key&value--maxThreads               (Default: 32) 设定程序的最大线程数--minThreads               (Default: 16) 设定程序的最小线程数--retryCount               (Default: 15) 设定程序的重试次数--timeOut                  (Default: 10) 设定程序网络请求的超时时间(单位为秒)--muxSetJson               使用外部json文件定义混流选项--useKeyFile               使用外部16字节文件定义AES-128解密KEY--useKeyBase64             使用Base64字符串定义AES-128解密KEY--useKeyIV                 使用HEX字符串定义AES-128解密IV--downloadRange            仅下载视频的一部分分片或长度--liveRecDur               直播录制时,达到此长度自动退出软件(HH:MM:SS)--stopSpeed                当速度低于此值时,重试(单位为KB/s)--maxSpeed                 设置下载速度上限(单位为KB/s)--proxyAddress             设置HTTP/SOCKS5代理, 如 http://127.0.0.1:8080--enableDelAfterDone       开启下载后删除临时文件夹的功能--enableMuxFastStart       开启混流mp4的FastStart特性--enableBinaryMerge        开启二进制合并分片--enableParseOnly          开启仅解析模式(程序只进行到meta.json)--enableAudioOnly          合并时仅封装音频轨道--disableDateInfo          关闭混流中的日期写入--disableIntegrityCheck    不检测分片数量是否完整--noMerge                  禁用自动合并--noProxy                  不自动使用系统代理--registerUrlProtocol      注册m3u8dl链接协议--unregisterUrlProtocol    取消注册m3u8dl链接协议--enableChaCha20           enableChaCha20--chaCha20KeyBase64        ChaCha20KeyBase64--chaCha20NonceBase64      ChaCha20NonceBase64--help                     Display this help screen.--version                  Display version information.

关于m3u8dl://协议

新增命令行参数:

--registerUrlProtocol          注册m3u8dl链接协议
--unregisterUrlProtocol     取消注册m3u8dl链接协议

URI格式:

m3u8dl://<base64编码的客户端命令行文本>

URI示例:

m3u8dl://Imh0dHBzOi8vZXhhbXBsZS5jb20vYWJjLm0zdTgiIC0td29ya0RpciAiJVVTRVJQUk9GSUxFJVxEb3dubG9hZHNcbTN1OGRsIiAtLXNhdmVOYW1lICJhYmMiIC0tZW5hYmxlRGVsQWZ0ZXJEb25lIC0tZGlzYWJsZURhdGVJbmZvIC0tbm9Qcm94eQ==

URI解码结果:

"https://example.com/abc.m3u8" --workDir "%USERPROFILE%\Downloads\m3u8dl" --saveName "abc" --enableDelAfterDone --disableDateInfo --noProxy

用户文档

https://nilaoda.github.io/N_m3u8DL-CLI/

聊聊

https://discord.gg/SSGwKrjC44

一个简单易用的m3u8下载器,支持下载m3u8链接或文件为mp4或ts格式相关推荐

  1. 一个简单的PHP邮件列表管理器

    1.需求分析 管理员应该能够建立和修改邮件内容. 管理员应该能够将文本或HTML格式的新闻信件发送给一个列表中的所有订阅者. 用户应该能够通过注册使用一个站点,并且可以进入并修改他们的个人资料. 用户 ...

  2. 一个简单的基于 DirectShow 的播放器 2(对话框类)

    上篇文章分析了一个封装DirectShow各种接口的封装类(CDXGraph):一个简单的基于 DirectShow 的播放器  1(封装类) 本文继续上篇文章,分析一下调用这个封装类(CDXGrap ...

  3. 一个简单的基于 DirectShow 的播放器 1(封装类)

    DirectShow最主要的功能就是播放视频,在这里介绍一个简单的基于DirectShow的播放器的例子,是用MFC做的,今后有机会可以基于该播放器开发更复杂的播放器软件. 注:该例子取自于<D ...

  4. easyopen——一个简单易用的接口开放平台

    摘要: 一个简单易用的接口开放平台,平台封装了常用的参数校验.结果返回等功能,开发者只需实现业务代码即可. easyopen介绍 一个简单易用的接口开放平台,平台封装了常用的参数校验.结果返回等功能, ...

  5. d3.js 旋转图形_一个简单易用但功能强大的图形矢量化软件,扫描图片转换成CAD图的软件等等...

    背景简介 很多童鞋可能可能有想要把图片转成CAD能打开的格式,但是找不到软件,今天要分享的这个软件值得一试. 内容简介 AlgoLabR2VToolkit是一个将光栅图像转换为矢量图像的软件,转换后的 ...

  6. python 消息队列 go_gmq: gmq是基于redis提供的特性,使用go语言开发的一个简单易用的消息队列;支持延迟任务,异步任务,超时任务,优先级任务...

    1. 概述 gmq是基于redis提供的特性,使用go语言开发的一个简单易用的队列;关于redis使用特性可以参考之前本人写过一篇很简陋的文章Redis 实现队列; gmq的灵感和设计是基于有赞延迟队 ...

  7. Qt怎么实现将bmp图片转换成Ascii_一个简单易用但功能强大的图形矢量化软件,扫描图片转换成CAD图的软件等等...

    背景简介 很多童鞋可能可能有想要把图片转成CAD能打开的格式,但是找不到软件,今天要分享的这个软件值得一试. 内容简介 AlgoLabR2VToolkit是一个将光栅图像转换为矢量图像的软件,转换后的 ...

  8. java通讯框架_gim: 一个简单易用,稳定高效的及时通讯框架(java、android)

    gim 一个简单易用,稳定高效的及时通讯框架(java) 简介: gim是基于高性能网络框架getty封装的,能简单上手,稳定高效的及时通讯框架 Getty:[https://github.com/g ...

  9. idea log 不输出error_还在使用console.log()吗?Bunyan:一个简单易用的JS日志框架

    Bunyan是一个简单易用的JS日志框架,可以工作在多种环境下,这里以Nodejs为例说明Bunyan的基本用法.是时候替换console.log的写法了. 安装 npm install --save ...

  10. 基于ForkJoin构建一个简单易用的并发组件

    2019独角兽企业重金招聘Python工程师标准>>> 基于ForkJoin构建一个简单易用的并发组件 在实际的业务开发中,需要用到并发编程的知识,实际使用线程池来异步执行任务的场景 ...

最新文章

  1. 循环神经网络(recurrent neural network)(RNN)
  2. django 上传文件夹_django文件上传
  3. Java代码统计某个字符串出现的次数
  4. topcoder srm 500 div1
  5. python strftime格式化显示_Python 格式化输出时间字符串函数 strftime
  6. uvalive5096(积分题)
  7. 凯立德3d实景地图_360全景地图、3D全景地图、三维实景地图哪个好?
  8. NAND FLASH ECC
  9. 06Matplotlib数据可视化--6.1绘图基础
  10. Linux脚本中带有小数点的数值比较大小
  11. java解释器是什么_java编译器和解释器
  12. java十大经典排序
  13. 市民注意啦 这3组家用无线路由器未达国家标准
  14. UE4 PBR材质使用记录
  15. Python交流QQ群
  16. Overlay 网络
  17. 很励志的故事(尸山代码)
  18. java语言基础知识(完整版)
  19. 火绒安全安装出现NSIS error
  20. opencv mat 类型转换 CV_32FC1--CV_8U

热门文章

  1. C#实现文本语音播放
  2. 2016年不可错过的21个深度学习视频、教程和课程
  3. 单片机温度传感器c语言编码,基于单片机的温度传感器18b20的C语言程序
  4. IDE工具(17) eclipse创建ftl文件具体步骤
  5. C#如何调用阿里云短信接口
  6. 总结JS继承的六种方式
  7. Amlogic S905X3外设驱动之RTC驱动:HYM8563驱动
  8. ppp协议c语言,ppp协议是用于拨号上网和路由器之间通信的点到点通信协议,是属于(1)协议,它不具有(2)的功能。( - 信管网...
  9. 简述JVM垃圾回收机制
  10. 计算机mac地址设置路由器,路由器mac地址怎么设置