首页 > 解决方案 > 如何使用 ffmpeg 批量/顺序下载 m3u8 文件?

问题描述

我目前在 Mac 上使用以下内容单独下载 m38u 播放列表:

ffmpeg -i <"URL with m3u8"> -codec copy output.ts

如果我想做多个文件,我目前从单独的终端窗口进行。

我想做的是,在一个实例中,告诉 ffmpeg 例如从 .txt 文件中获取 URL 并按顺序下载它们,每个都有一个连续的输出名称(它们都可以放在同一个输出文件夹中)。

m3u8 文件中的示例代码:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:9
#EXTINF:8.333333,
segment00000.ts
#EXTINF:8.333333,
segment00001.ts
#EXTINF:8.333333,
segment00002.ts
#EXTINF:5.000000,
segment00003.ts
#EXTINF:8.333333,
segment00004.ts
#EXTINF:8.333333,
segment00005.ts

我当然安装了自制软件-我是新手,所以不确定这是否意味着我正在积极“使用”它来管理软件包

包含 m3u8 地址列表的文件当前位于 /Users/username/Downloads/m38u 保存 list.txt,如下所示:

https://streaming.imvbox.com/media/2825/1280x800/1280x800.m3u8
https://streaming.imvbox.com/media/2298/1280x800/1280x800.m3u8
https://streaming.imvbox.com/media/2822/1280x800/1280x800.m3u8
https://streaming.imvbox.com/media/2821/1280x800/1280x800.m3u8
https://streaming.imvbox.com/media/2820/1280x800/1280x800.m3u8
https://streaming.imvbox.com/media/2088/1280x800/1280x800.m3u8

但到目前为止,这个文件只是一个存储链接的地方——除了从中复制链接之外,我没有使用它任何东西。

标签: macosffmpegm3u8

解决方案


因此,我会将以下内容保存在您的HOME目录中grabAll

#!/bin/bash

HoldList="/Users/username/Downloads/m38u hold list.txt"

index=0
while read line ; do
    echo ffmpeg -i $line -codec copy output-${index}.ts
    ((index=index+1))
done < "$HoldList"

注意:如果您使用TextEdit,请确保单击菜单选项Format->Make Plain Text

然后你可以启动终端并运行:

bash grabAll

并查看它是否正在生成您想要的命令类型。它目前没有做任何事情,它只是在屏幕上说它会做什么。如果它看起来不错,您只需echo从第 3 行到最后一行删除单词并再次运行它。

样本输出

ffmpeg -i https://streaming.imvbox.com/media/2825/1280x800/1280x800.m3u8 -codec copy output-0.ts
ffmpeg -i https://streaming.imvbox.com/media/2298/1280x800/1280x800.m3u8 -codec copy output-1.ts
ffmpeg -i https://streaming.imvbox.com/media/2822/1280x800/1280x800.m3u8 -codec copy output-2.ts
ffmpeg -i https://streaming.imvbox.com/media/2821/1280x800/1280x800.m3u8 -codec copy output-3.ts
ffmpeg -i https://streaming.imvbox.com/media/2820/1280x800/1280x800.m3u8 -codec copy output-4.ts
ffmpeg -i https://streaming.imvbox.com/media/2088/1280x800/1280x800.m3u8 -codec copy output-5.ts

推荐阅读