批量合并 mpeg-4 音频文件和视频文件

批量合并 mpeg-4 音频文件和视频文件

我曾尝试从 YouTube 下载大型播放列表,但犯了一个错误,只下载了视频。然后我尝试让 youtube-dl 使用已下载的视频,以免浪费时间,但失败了。最后,我成功下载了一堆 mp4 文件和 m4a 文件,每个视频的名称都与音频相匹配。我试过

ffmpeg -i *.mp4 -i *.m4a -c:v copy -c:a copy *-merged.mp4

但后来我得到了

File '02 - Operational Procedures-yTOpBMNkOrA.mp4' already exists. Overwrite? [y/N] N

我真的不知道该怎么做。我的目标是将所有名称相同的文件合并到 -merged.mp4 中。为了便于理解,我分别下载了格式 140 和格式 134 音频和视频格式。

答案1

ffmpeg不接受通配符(除了一些不相关的例外,如图像解复用器)。

用一个for 循环相反。Bash 示例:

for f in *.mp4; do ffmpeg -i "$f" -i "${f%.*}.m4a" -c copy "${f%.*}-merged.mp4"; done

改编自如何使用 ffmpeg 转换整个目录?

相关内容