我曾尝试从 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