软件介绍
m3u8目前是很多采集站点或者说很多在线视频站点采用的播放策略,这个策略可以让多个视频碎片按照指定的顺序播放,无论是在加载速度或者播放效率方面都有不同程度的帮助。
那么如果下载就是一个问题,之前站点也推荐过很多下载m3u8的网站或者软件,但是今天推荐的这个软件我觉得应该是相对比较优秀,而且使用非常方便的,最主要的是不用依赖ffmpeg。
下面是软件界面截图:
软件是一个单文件版本,即下载之后直接双击使用,无需安装过程,我这边随便找了一个采集站点的m3u8文件进行测试,效果非常理想,速度方面受m3u8链接地址对应的服务器带宽影响,我这边测试数据如下:
整体来说使用体验是非常好的,如果你是新手,那么你可能需要的步骤只有三个:输入m3u8链接地址、设置下载路径、点击下载按钮。如果你需要额外的功能或者更加进阶的办法,官方也提供了功能说明。
功能方面,这里直接引用官方的说明内容:
使用gomedia 代替ffmpeg进行格式转换
支持跳过ts文件
支持跳过 #EXT-X-DISCONTINUITY 标签包裹的ts。有的网站会在视频中增加广告,广告内容在 #EXT-X-DISCONTINUITY 直接包裹
程序会在下载保存目录创建:
-downloading/ 目录, 用于存放正在下载的分段ts视频, 按照m3u8的url进行划分
-m3u8d_config.json 文件, 用于存放Qt ui的的界面上的配置信息, 只有Windows/Macos的Qt版本会创建此文件
curl模式 可以赋予使用者任意设置下载请求的Header信息的能力,方便解决只有一个m3u8的链接时无法下载视频的尴尬局面
-例子1, 你需要下载的视频是要登陆后观看的,Cookie信息里存放了登陆状态
-例子2, 网站开发者验证了Referer信息、Authority信息、Origin信息、User-Agent信息、各种特定的Header信息
-以windows下的chrome为例,找到对应的m3u8请求记录,然后右键选择 "Copy - Copy as cURL(bash)", 然后打开 windows-qt版本的 m3u8d, 点击 "curl 模式",将复制出来的请求粘贴上去即可
如果不是m3u8样子的URL,自动下载html下来、搜索其中的m3u8链接进行下载
windows、linux、mac都支持转换、合并ts格式为mp4
充分测试后,使用 gomedia 代替ffmpeg进行格式转换
支持嵌套m3u8的url
增加openwrt路由器的mipsle二进制
支持从curl命令解析出需要的信息,正如 cxjava/m3u8-downloader 一样
显示下载速度、合并ts的速度
提供macos的图形化界面
支持下载aes加密的m3u8
内部使用多线程下载ts文件
支持设置代理: http/socks5
-http代理解释: 要访问的真实url是http协议, 使用代理服务器可见的GET/POST/HEAD...形式; 如果要访问的真实url是https协议, 使用代理服务器不可见的CONNECT形式
跳过ts的表达式使用英文逗号','隔开, 编写规则:
-ts列表文件名从1开始编号,例如第一个ts文件的编号就是1,第十个ts的编号就是10
-想要跳过编号为10的ts: 10
-想要跳过编号为23到199的ts: 23-199
-想要跳过下载ts时,服务器返回http状态码为403,404的ts: http.code=403, http.code=404
-使用服务器的http状态码跳过ts可能造成判断错误,所以默认情况不会合并下载的ts、不会删除下载的ts。
-如果要让http状态码跳过的ts也能被自动合并: if-http.code-merge_ts
功能方面还是比较全面的,但是想要使用并且理解,需要一定的网络基础,大家根据自己的需求来决定是否使用高级功能。
额外补充
一般来说,这类软件的使用频率不会很高,除非是你没时间观看或者喜欢囤积内容,那么可以考虑通过软件下载保存,除此之外,我似乎找不到别的想法了。
软件本身在不断更新,开发者也是在积极的针对用户反馈进行回复,大家可以放心使用。
下面是一些软件作者后续打算开发的功能,列表如下:
多线程修改为自适应模式,在下载过程中动态调整线程池大小,以便达到最快的下载速度
支持多国语言
支持从一个txt里读取下载列表,批量下载