使用 youtube-dl 和 ffmpeg 同时下载视频和音频片段

Downloading video & audio segment simultaneously with youtube-dl and ffmpeg

对于我想下载的在线流媒体视频,我有两个 m3u8 文件。

一个用于视频本身,片段-0.ts 到片段 250.ts:

#EXTINF:6.000000,
segment-0.ts
#EXTINF:6.000000,
segment-1.ts
#EXTINF:6.000000,
segment-2.ts
#EXTINF:6.000000,
segment-3.ts
#EXTINF:6.000000,
segment-4.ts

和音频片段的另一个 m3u8:

#EXTINF:6.016000,
segment-0.aac
#EXTINF:6.016000,
segment-1.aac
#EXTINF:6.016000,
segment-2.aac
#EXTINF:6.016000,
segment-3.aac
#EXTINF:6.016000,

因此,我使用 youtube-dl 和 ffmpeg 分别下载两个 m3u8,然后将它们合并以获得最终的 mp4(音频+视频)。

有没有办法合并文件或在终端中使用组合命令自动下载并合并它们?

FFmpeg 可以处理多个输入:

ffmpeg -i <first> -i <second> output.mp4

只需放置从 youtube-dl 返回的两个 URL:

youtube-dl -g <my-first-url>
youtube-dl -g <my-second-url>

如果您使用的是 unix (linux/MacOS) 系统,您可以在一个命令中执行两个步骤:

ffmpeg -i $(youtube-dl -g <my-first-url>) -i $(youtube-dl -g <my-second-url>) output.mp4