使用 ffmpeg 下载 m3u8 blob 视频

使用 ffmpeg 下载 m3u8 blob 视频

点击“观看预告片”按钮后,即可在本页面观看视频

https://web3.wb.com/warnermedia/movieverse

在浏览器的网络选项卡中,我发现了几个 m3u8 播放列表的链接,其中有一个指向主播放列表的链接

https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/playlist.m3u8?resolve=true&sid=BF5B23C04336

它缺少一个授权参数,我在网络选项卡的另一个链接中找到了它。因此,下载播放列表的完整链接如下所示

https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/playlist.m3u8?authorization=eyJxc3BhY2VfaWQiOiJpc3BjMlJVb1JlOWVSMnYzM0hBUlFVVlNwMXJZWHp3MSJ9&resolve=true&sid=BF5B23C04336

下载的播放列表包含多个视频和 1 个音频流,以一堆其他播放列表的形式表示。由于主播放列表中的 URL 没有基本部分,因此在这种情况下它们的基本 URL 应该是

https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/

内部播放列表内的最终文件的链接也已缩短,因此其基本 URL 应为上面的 URL + 主播放列表的其余部分。例如,1920x1080 流播放列表的完整链接为

https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/video/videovideo_1920x1080@9500000/playlist.m3u8?authorization=eyJxc3BhY2VfaWQiOiJpc3BjMlJVb1JlOWVSMnYzM0hBUlFVVlNwMXJZWHp3MSJ9&resolve=true&sid=BF5B23C04336

我尝试使用此命令中的完整链接通过 ffmpeg 下载视频:

ffmpeg -i "https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/playlist.m3u8?authorization=eyJxc3BhY2VfaWQiOiJpc3BjMlJVb1JlOWVSMnYzM0hBUlFVVlNwMXJZWHp3MSJ9&resolve=true&sid=BF5B23C04336" -c copy -map p:0 "output.mp4"

但它抛出了“创建安全上下文失败(0x80090302)...发生未知错误”

如何下载视频?

答案1

您可以使用以下方式下载视频+音频yt-dlp,但你必须添加授权:

yt-dlp "https://host-154-14-240-131.contentfabric.io/qlibs/ilibmDAMX11myzYPBC9vk2shWZYgZSc/q/hq__9Bg5pjMK35sqxXZvDBiQmec1WppnXSNbvdNWShAu5WjGE46vqpaX89FjkTgNoHrKmX1yQH1iUr/rep/playout/default/hls-clear/playlist.m3u8?resolve=true&sid=BF5B23C04336" --add-header "Authorization: Bearer eyJxc3BhY2VfaWQiOiJpc3BjMlJVb1JlOWVSMnYzM0hBUlFVVlNwMXJZWHp3MSJ9"

相关内容