下载m3u8视频

时间:2024-03-08 14:21:42

方法一 使用ffmpeg下载

参考链接:
FFmpeg
https://ffmpeg.org/

ffmpeg -i http://xxxxx/test.m3u8 -c copy test.mp4

踩坑一:ffmpeg默认不支持https连接,需要自己重新编译,添加对https的支持

参考链接:
使用ffmpeg下载m3u8视频(ubuntu18) - 知乎
https://zhuanlan.zhihu.com/p/108475858
ffmpeg开启https,提示“ERROR:opensslnotfound”_along-CSDN博客
https://blog.csdn.net/u201011221/article/details/96633912
在Ubuntu Server上编译FFmpeg - 廖雪峰的官方网站
https://www.liaoxuefeng.com/article/1068527285250720

踩坑二:ffmpeg下载文件的时候遇到服务器500错误就会丢帧,文件下载不完全

参考链接:
ffmpeg: drop 丢弃帧问题,与-c copy 下载问题 - V2EX
https://www.v2ex.com/t/649899

总结:
不推荐这种方法
ffmpeg本质不是一个下载工具,而是一个视频处理工具

方法二 先将ts文件批量下载下来,再将ts文件合并成一个视频文件

批量下载ts文件

  • wget
wget -c -b -nc -i test.m3u8

参考链接:
每天一个linux命令(61):wget命令 - peida - 博客园
https://www.cnblogs.com/peida/archive/2013/03/18/2965369.html

linux wget命令从Web网站下载文件-Linux实验室
https://idc.wanyunshuju.com/cym/139w.html

  • aria2c

  • 迅雷

  • idm

合并ts文件

ffmpeg
使用ffmpeg 合并ts文件时需提供.m3u8文件
对于部分加密过的ts文件,无法直接打开的情况下
需要下载对应的key文件,与m3u8文件

ffmpeg -i text.m3u8 -c copy  -movflags faststart test.mp4

查看视频文件的元信息,比如编码格式和比特率,可以只使用-i参数。

ffmpeg -i input.mp4

参考链接:
合并多个.ts视频文件 | 幽幽过客
http://www.uuc.me/1198.html

FFmpeg 视频处理入门教程 - 阮一峰的网络日志
http://www.ruanyifeng.com/blog/2020/01/ffmpeg.html

使用copy命令

方法三 自动化工具下载

GitHub - nilaoda/N_m3u8DL-CLI: [.NET] m3u8 downloader 开源的命令行m3u8/HLS下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等.
https://github.com/nilaoda/N_m3u8DL-CLI

VLC (媒体播放器) - 知乎
https://www.zhihu.com/topic/19553503/hot

文末

下载m3u8文件方法有很多,
重要的不是方法,而是下载的网速有多快。

参考链接:
下载blob加密的视频以及m3u8下载姿势合集 - 知乎
https://zhuanlan.zhihu.com/p/65425801