我最近一直在使用Chrome扩展程序或下载网站从网站上下载视频。但是,最近它开始提供m3u8文件下载链接。我在互联网上进行了搜索,并尝试了多种方法,但无法下载这些视频。有谁知道如何获取此类视频的下载链接?将不胜感激。 这些视频大多数是足球比赛的精彩片段,通常会在浏览器中播放但无法下载。 更新: http @ 0000018479631d00]协议'http'不在白名单'file,crypto'上! master.m3u8:无效的参数,这是我使用FFmpeg时遇到的错误。
答案 0 :(得分:1)
m3u8
文件通常是文本文件,其中包含指向实际数据文件的链接。
我使用的一种解决方案是在Bash循环中使用curl
下载实际数据文件,然后将播放列表的所有下载文件连接起来。
您可以尝试如下所示的Bash函数[将其放入.bashrc
或.bash_aliases
文件中,并在需要时进行相应的编辑]:
function download-playlist() {
if [[ -n "$1" ]]; then
touch ./files.txt;
counter=1;
while read line; do
if [[ "$line" == "http"* ]]; then
curl --silent -o ${counter}.mp4 "$line";
echo "file ${counter}.mp4" >> ./files.txt;
((counter++));
fi;
done < "$1";
fmpeg -f concat -safe 0 -i ./files.txt -codec copy output.mp4;
else
echo 'Usage: download-playlist <file.m3u8>';
fi
}
然后您可以像这样使用它:download-playlist master.m3u8
PS:通常master.m3u8
包含指向子播放列表的链接。该功能可能必须在子播放列表上运行,而不是在实际的master.m3u8
播放列表上运行。
答案 1 :(得分:-1)
我已经找到答案了。问题是该流已加密,并且使用FFmpeg时遇到了一个错误,即尚不支持SAMPLE-AES加密。因此,除非FFmpeg支持此功能,否则无法下载此类视频。