使用 ffmpeg 下载加密的 m3u8“HTTP 错误 403 禁止”
我一直在使用 ffmepg 和许多工具来下载在线视频,但我有以下情况:
来自流媒体服务器的主 m3u8 文件显示不同的分辨率:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=133241,RESOLUTION=426x240, CODECS="avc1.42e00a,mp4a.40.2"
240.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=216379,RESOLUTION=640x360, CODECS="avc1.42e00a,mp4a.40.2"
360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=239756,RESOLUTION=852x480, CODECS="avc1.42e00a,mp4a.40.2"
480.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=408978,RESOLUTION=1280x720, CODECS="avc1.42e00a,mp4a.40.2"
720.m3u8
然后对于每个分辨率有 2 个文件,例如让我们选择 720:
720.m3u8
720.key
720 .m3u8 有段,720.key 有 base64 加密密钥
现在,当我使用 ffmpeg 时,出现以下错误:
[https @ 0x7fc00a40e0c0] HTTP error 403 Forbidden
[hls @ 0x7fc00a204100] Unable to open key file https://hls2.videos.*****/video/720.key
我确信我在 ffmpeg 中添加了所有必需的标头命令:
-user_agent
-referer
我不确定问题是什么,我已经测试了所有其他工具,如 yt-dlp、yotube-dl 和 Streamlink
I have been using ffmepg and many tools to download online videos but I have the following case:
The main m3u8 file from the streaming server shows different resolutions:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=133241,RESOLUTION=426x240, CODECS="avc1.42e00a,mp4a.40.2"
240.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=216379,RESOLUTION=640x360, CODECS="avc1.42e00a,mp4a.40.2"
360.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=239756,RESOLUTION=852x480, CODECS="avc1.42e00a,mp4a.40.2"
480.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=408978,RESOLUTION=1280x720, CODECS="avc1.42e00a,mp4a.40.2"
720.m3u8
Then for every resolution there are 2 files, for example let us pick the 720:
720.m3u8
720.key
The 720.m3u8 has the segments and the 720.key has base64 encrypted key
Now when I use ffmpeg I got the following error:
[https @ 0x7fc00a40e0c0] HTTP error 403 Forbidden
[hls @ 0x7fc00a204100] Unable to open key file https://hls2.videos.*****/video/720.key
I was sure that I added all the required headers in my ffmpeg command:
-user_agent
-referer
I am not sure what is the problem and I have tested all other tools like yt-dlp, yotube-dl and streamlink
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论