Macos 使用ffmpeg连接多个视频和一个声音

Macos 使用ffmpeg连接多个视频和一个声音,macos,terminal,ffmpeg,Macos,Terminal,Ffmpeg,我正在尝试将许多mp4视频(h264)与音频mp3连接起来 我在网上搜索了hover和 例如,我有: 3个mp4视频(带音频),每个15秒 1个60秒的mp3音频 我不想保留视频的音频,但我希望mp3文件成为映射到整个视频的唯一音频 [ audio ] [video 1][video 2][video 3] 基本语法是 ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i audio.mp3 -filter_complex "[0][

我正在尝试将许多
mp4
视频(h264)与音频
mp3
连接起来

我在网上搜索了hover和

例如,我有:

  • 3个mp4视频(带音频),每个15秒
  • 1个60秒的mp3音频
我不想保留视频的音频,但我希望
mp3
文件成为映射到整个视频的唯一音频

[          audio          ]
[video 1][video 2][video 3]
基本语法是

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i audio.mp3 -filter_complex "[0][1][2]concat=3[v]" -map "[v]" -map 3:a -shortest out.mp4
基本语法是

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.mp4 -i audio.mp3 -filter_complex "[0][1][2]concat=3[v]" -map "[v]" -map 3:a -shortest out.mp4

我使用该命令时出错:
ffmpeg-I video\u a.mp4-I video\u b.mp4-I sound.mp3-filter\u complex“[0][1][2]concat=3[v]”-map“[v]”-map 3:a-shortest concat.mp4
。错误是filtergraph描述[0][1][2]concat=3[v]中的流说明符“”不匹配任何流。我的命令用于三个视频。你的是双人的。删除
[2]
并另外更改为
concat=2
,是否有可能在每次视频启动时重新启动声音?最简单的方法是执行两个命令过程:为每个文件运行
ffmpeg-i 1.mp4-i audio.mp3-map 0:v-map 1:a-c copy-shortest 1a.mp4
,然后执行
ffmpeg-i 1a.mp4-i 2a.mp4-filter\u complex“[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]“-map”[v][a]“-map”[v][[a] “concat.mp4
非常感谢@Mulvya,你知道一个学习ffmpeg(或买一本书)的好地方吗?我的命令出错:
ffmpeg-I video\u a.mp4-I video\u b.mp4-I sound.mp3-filter\u complex”[0][1][2]concat=3[v]“-map”[v]”-map 3:a-最短concat.mp4
。错误是filtergraph描述[0][1][2]中的流说明符“
concat=3[v]不匹配任何流。
我的命令用于三个视频。你的命令用于两个。删除
[2]
并更改为
concat=2
此外,是否有可能在每次视频开始时重新启动声音?最简单的方法是两个命令过程:为每个文件运行
ffmpeg-i 1.mp4-i audio.mp3-map 0:v-map 1:a-c copy-shortest 1a.mp4
然后
ffmpeg-i 1a.mp4-i 2a.mp4-filter\u complex”[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]“-map”[v]“-map”[a]“concat.mp4
非常感谢@Mulvya,你知道一个学习ffmpeg的好地方(或者买一本书)吗?