如果我尝试-filter_complex使用命令连接两个 mp4 视频文件:
ffmpeg -i a.mp4 -i b.mp4 -filter_complex \
"[0:1] [0:0] [1:1] [1:0] concat=n=2:v=1:a=1 [v] [a]" \
-map [v] -map [a] -y testfull.mp4
Run Code Online (Sandbox Code Playgroud)
它工作正常,但如果我尝试类似的音频文件,如:
ffmpeg -i a.mp3 -i b.mp3 -filter_complex \
"[0:1] [0:0] [1:1] [1:0] concat=n=2:a=1 [a]" \
-map [a] -y testfull.mp3
Run Code Online (Sandbox Code Playgroud)
出现错误:
Input #1, mp3, from 'b.mp3': Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-12-13 21:15:11
encoder : Lavf53.4.0 Duration: 00:02:01.61, start: 0.000000, bitrate: 64 kb/s
Stream #1:0: Audio: mp3, 8000 Hz, stereo, s16p, 64 kb/s
Stream specifier ':1' in filtergraph description [0:1] [0:0] [1:1] [1:0] concat= n=2:a=1 [a] matches no streams.
Run Code Online (Sandbox Code Playgroud)
如果我修改-filter_complex参数并运行命令:
ffmpeg -i a.mp3 -i b.mp3 -filter_complex \
"concat=n=2:a=1 [a]" -map [a] -y testfull.mp3
Run Code Online (Sandbox Code Playgroud)
出现以下错误
Input #1, mp3, from 'b.mp3': Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isomavc1mp42
creation_time : 2010-12-13 21:15:11
encoder : Lavf53.4.0 Duration: 00:02:01.61, start: 0.000000, bitrate: 64 kb/s
Stream #1:0: Audio: mp3, 8000 Hz, stereo, s16p, 64 kb/s
Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_concat_ 0
Run Code Online (Sandbox Code Playgroud)
谁能帮助我如何通过最新ffmpeg版本加入两个音频文件(可能使用-filter_complex.
更新:好的,用这个命令解决了我的问题ffmpeg:
ffmpeg -i "concat:a.mp3|b.mp3" -c copy output.mp3
Run Code Online (Sandbox Code Playgroud)
小智 6
您必须告诉 concat 过滤器不会有视频:v=0并且您也不需要处理视频流[0:0] [1:0],因此命令如下:
ffmpeg -i a.mp3 -i b.mp3 -filter_complex \
"[0:a] [1:a] concat=n=2:v=0:a=1 [a]" \
-map [a] -c:a mp3 testfull.mp3
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13924 次 |
| 最近记录: |