使用 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
对于我想下载的在线流媒体视频,我有两个 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