【教程】使用ffmpeg将HTML加密的m3u8视频下载到本地
有时候,可能晚上断网,但热爱学习我们,一心想着学习,但购买的付费学习视频,又不能下载到本地,只能在线观看,然而断网又让我们不能愉快的学习,作为一名热爱学习的农民工,又怎么可能就此妥协。
另外,本教程仅针对原本已付费,且能正常在线观看视频的情况,想吃免费的午餐那还得问人借个能满足前面讲到的号操作。
# 软件下载
FFmpeg 可在 Windows、Linux 还有 Mac OS 等多种操作系统中进行安装和使用,这里只讲 Windows 下的,如有不同需求,可查阅 参考文章
或自行搜索。
FFmpeg 分为 3 个版本: Static
、 Shared
、 Dev
前两个版本可以直接在命令行中使用。包含了三个 exe:ffmpeg.exe,ffplay.exe,ffprobe.exe
Static
版本中的 exe 体积较大,那是因为相关的 Dll 都已经编译进 exe 里面去了。
Shared
版本中 exe 的体积相对小很多,是因为它们运行的时候还需要到相关的 dll 中调用相应的功能
Dev
版本用于开发,里面包含了库文件 xxx.lib 以及头文件 xxx.h
我使用的是 Static
# 抓包视频 m3u8 文件
建议使用 chrome 浏览器或其内核浏览器
根据右边教程,导入证书,才可抓取 https(加密) 图解如何设置 Fiddler 抓取 https_百度经验 (opens new window)
在浏览器打开你在线播放视频的网页,并登录好你的账号,确保能正常播放
F12
或打开开发者工具
,点击Network
,勾选Preserve log
(刷新页面时,抓包日志也不会清空)
刷新网页,选择清晰度,观看一小段视频,过程中开发者工具不要关闭,并保持在 Network。
找到 m3u8 文件
一般选最底下那一个 m3u8 文件
可以选择 下载
下来,或者 记录
Request URL:后的 URL,等会下载的时候会用到
# 下载视频
在 ffmpeg
目录下的 bin 文件夹,打开 powershell 或 cmd
输入
.\ffmpeg -i "m3u8文件的路径" -vcodec copy -acodec copy -absf aac_adtstoasc 输出文件名.mp4 #回车
此时 ffmpeg 会通过 m3u8 里的 key,下载所有片段,最后合成输出 输出文件名.mp4
到 bin文件夹
下
下载好后如下提示
# 总结
ffmpeg 是一个十分强大的软件,除了可以下载加密 m3u8 视频外,还可以对视频文件加密成 m3u8 视频... 感兴趣的朋友可以深入了解下,本教程也适用于不加密的 m3u8 视频的下载。
.\ffmpeg -h
查看帮助,获取更多 ffmpeg 命令
参考文章: