我最近一直在使用 Chrome 扩展程序或下载网站从网站下载视频。然而,最近它开始提供
m3u8
文件下载链接。我在互联网上进行了搜索并尝试了多种方法,但无法下载这些视频。有谁知道如何获取此类视频的下载链接?
这些视频大部分是足球比赛的精彩片段,通常在浏览器中播放,但无法下载。
这是我使用 FFmpeg 时遇到的错误:
http @ 0000018479631d00] Protocol 'http' not on whitelist 'file,crypto'!
master.m3u8: Invalid argument
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";
ffmpeg -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
播放列表上运行。
如果您有 .m3u8
文件的链接,则可以使用免费的
VLC 媒体播放器流式传输 M3U8 视频。可见光通信 还可以将 M3U8 视频转换为 MP4 或其他所需的视频格式。
其他转换和下载方法可以在本文中找到。
使用 VLC 播放/流式传输 M3U8
如果您有本地
.m3u8
文件,您可以在 VLC 中播放该文件,就像播放 VLC 支持的任何其他视频格式一样。
如果您本地没有
.m3u8
文件,但您有要查看的文件的链接,则以下是流式传输视频的步骤:
将 M3U8 视频转换为不同的视频格式
如果您想将已下载的
.m3u8
文件转换为其他视频格式,请按照以下说明操作:
.m3u8
视频文件我已经找到答案了。问题是流是加密的,并且使用 FFmpeg 我遇到了一个错误,即“尚不支持 SAMPLE-AES 加密”。所以除非 FFmpeg 支持此功能,否则无法下载此类视频。