方法一 使用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