via 春潮频道;
教程概要(必看)
1.如何找到 m3u8 文件URL链接;
2.配置 终端APP的HTTP代理以加速M3U8文件下载;
3.使用 FFmpeg 进行下载 m3u8 对应的资源;
4.可能存在的一些错误及解决方法;
M3U8-Downloader(开源带GUI的M3U8下载器)
M3U8-Downloader:https://github.com/HeiSir2014/M3U8-Downloader (我在用这个)
M3U8-Downloader:https://github.com/topics/m3u8-downloader (更多项目)
FFmpeg 介绍
FFmpeg 是一个开放源代码的自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward”。
官网:https://ffmpeg.org/download.html
HLS协议介绍
HLS(全称:Http Live Streaming)是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,1个是 M3U8描述文件,第2个是TS媒体文件。
M3U8 文件介绍
m3u8 文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是 utf-8 编码。
其内容为:(举例)
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="71711737b6d71cfa.ts",IV=0xa357509bf0846bd110519113c1452292
#EXTINF:5.405400,
128830.ts
#EXTINF:4.004000,
128831.ts
#EXTINF:5.805800,
128832.ts
#EXTINF:4.004000,
128833.ts
#EXTINF:4.004000,
128834.ts
下载并安装 FFmpeg
FFmpeg 官网:https://ffmpeg.org/download.html#releases
1.下载到本地并解压:https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
2.打开终端App;
MacBook-Air:~ monica$ cd /Users/monica/Downloads/ffmpeg\ 2 #进入解压后的文件夹路径
MacBook-Air:ffmpeg 2 monica$ ./configure
MacBook-Air:ffmpeg 2 monica$ make && make install
以上,编译安装完成;
参考资料 玩转 Terminal 终端APP:入门指南及进阶技巧;
如何找到M3U8文件URL
这里介绍两种抓 M3U8 文件的方法给大家,一种是浏览器扩展嗅探工具如猫爪,另外一种则是浏览器的开发者工具;
猫抓下载与使用
1.下载地址:https://chrome.google.com/
2.安装好后打开视频播放页如:https://jable.tv/videos/mimk-082/ 举例
浏览器开发者工具
1.打开浏览器开发者工具(默认为 Chrome浏览器);
在Chrome菜单中选择 更多工具 > 开发者工具
在当前页面元素上右键点击,选择 “检查”
使用 快捷键 Ctrl+Shift+I (Windows) 或 Cmd+Opt+I (Mac)
2.按上图所示
使用FFmpeg下载 M3U8 文件
1.打开终端 APP
2.使用 FFmpeg 命令行下载 M3U8 文件;
ffmpeg -i https://qmm621.cdnlab.live/hls/YeQQ1SgBm0EdiY22LE3a0g/1613873771/12000/12883/12883.m3u8 -c copy -bsf:a aac_adtstoasc /Users/monica/Downloads/MIMK-082.mp4 #带转码
ffmpeg -i https://qmm621.cdnlab.live/hls/YeQQ1SgBm0EdiY22LE3a0g/1613873771/12000/12883/12883.m3u8 -c copy /Users/monica/Downloads/MIMK-082.mp4 #不转码 效率高
如出现 http error 403 forbidden 错误,可通过添加 user_agent
参数进行解决,参考如下;
ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" -i https://qsdhc7.cdnlab.live/hls/4oAqXKCC5NEErkFKaCHD_A/1613932316/13000/13464/13464.m3u8 -c copy -bsf:a aac_adtstoasc /Users/monica/Downloads/JUL-469.mp4 #带转码
ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36" -i https://qsdhc7.cdnlab.live/hls/4oAqXKCC5NEErkFKaCHD_A/1613932316/13000/13464/13464.m3u8 -c copy /Users/monica/Downloads/JUL-469.mp4 #不转码 效率高
更多参数可参考:FFmpeg 视频处理入门教程;
或
$ ffmpeg -h
为终端配置Http代理(端口号设置)
博主使用的代理工具为 ClashX,其端口为 7890
,故设置如下;(一次性设置,重启终端后失效);
打开终端,输入如下命令行;
export http_proxy=socks5://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
测试设置是否生效;
$ curl https://www.google.com/
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="zh-HK"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image"><title>Google</title>...
</body></html>
如果返回谷歌首页的 HTML 文档则代表已生效;
浏览器扩展下载 M3U8 文件
附注
版权属于:毒奶
联系我们:https://limbopro.com/6.html
毒奶搜索:https://limbopro.com/search.html
机场推荐:https://limbopro.com/865.html IEPL专线/100Gb/¥15/月起
毒奶导航:https://limbopro.com/daohang/index.html本文链接:https://limbopro.com/archives/m3u8-download.html
本文采用 CC BY-NC-SA 4.0 许可协议,转载或引用本文时请遵守许可协议,注明出处、不得用于商业用途!