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