如何从m3u8文件中提取mp4视频

问题描述 投票:0回答:3

我最近一直在使用 Chrome 扩展程序或下载网站从网站下载视频。然而,最近它开始提供

m3u8
文件下载链接。我在互联网上进行了搜索并尝试了多种方法,但无法下载这些视频。有谁知道如何获取此类视频的下载链接?

这些视频大部分是足球比赛的精彩片段,通常在浏览器中播放,但无法下载。

这是我使用 FFmpeg 时遇到的错误:

http @ 0000018479631d00] Protocol 'http' not on whitelist 'file,crypto'!
master.m3u8: Invalid argument
video-streaming mp4 m3u8
3个回答
5
投票

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
播放列表上运行。


1
投票

如果您有 .m3u8 文件的链接,则可以使用免费的

VLC 媒体播放器
流式传输 M3U8 视频。可见光通信 还可以将 M3U8 视频转换为 MP4 或其他所需的视频格式。

其他转换和下载方法可以在本文中找到。

使用 VLC 播放/流式传输 M3U8

如果您有本地

.m3u8
文件,您可以在 VLC 中播放该文件,就像播放 VLC 支持的任何其他视频格式一样。

如果您本地没有

.m3u8
文件,但您有要查看的文件的链接,则以下是流式传输视频的步骤:

  1. 打开VLC
  2. 从 VLC 菜单栏中选择 Media,然后选择 Stream...(或使用 Ctrl+S 键盘快捷键)
  3. 在出现的对话框中,选择网络选项卡
  4. 将 URL 粘贴到文本框中,然后按 Stream 按钮
  5. 下一步直至对话框关闭
  6. 经过一段时间的缓冲后,您的视频应该开始流式传输

将 M3U8 视频转换为不同的视频格式

如果您想将已下载的

.m3u8
文件转换为其他视频格式,请按照以下说明操作:

  1. 打开VLC
  2. 从 VLC 菜单栏中选择 Media,然后选择 Convert / Save...(或使用 Ctrl+R 键盘快捷键)
  3. 在出现的对话框中,按添加...选项卡
  4. 选择要转换的
    .m3u8
    视频文件
  5. 单击转换/保存
  6. 配置文件下拉菜单中选择所需的输出视频格式
  7. 浏览按钮选择转换后的视频文件应存储在计算机上的位置
  8. 开始按钮开始转换
  9. VLC 将显示一个进度条,指示转换进度。在转换完成之前请勿关闭 VLC。

-1
投票

我已经找到答案了。问题是流是加密的,并且使用 FFmpeg 我遇到了一个错误,即“尚不支持 SAMPLE-AES 加密”。所以除非 FFmpeg 支持此功能,否则无法下载此类视频。

© www.soinside.com 2019 - 2024. All rights reserved.