FFmpeg添加第二音轨报错:找不到codec标签及流匹配失败求助
解决FFmpeg添加第二条音轨的报错问题
错误原因分析
第一条命令报错:
Could not find tag for codec none in stream #2
原命令中-map 0会将输入视频(1.mp4)的所有流(包括可能存在的未知/不兼容流)全部映射到输出,导致MP4容器无法识别部分流的编码标签,从而写入失败。第二条命令报错:
Stream map '1:v' matches no streams-map 1:av试图同时映射第二个输入(2.m4a)的视频和音频流,但2.m4a是纯音频文件,不存在视频流,因此匹配失败。
正确命令
使用以下命令即可成功添加第二条音轨:
ffmpeg -i 1.mp4 -i 2.m4a -map 0:v -map 0:a -map 1:a -c:v copy -c:a copy -shortest __out.mp4
或更简洁的写法(自动复制所有兼容流):
ffmpeg -i 1.mp4 -i 2.m4a -map 0 -map 1:a -c copy -shortest __out.mp4
参数说明
-map 0:v:指定映射第一个输入的视频流-map 0:a:保留原视频的音频流-map 1:a:添加第二个输入的音频流作为新音轨-c copy:直接复制视频和音频编码,避免重新编码,提升处理速度-shortest:输出文件时长以输入中较短的文件为准
内容的提问来源于stack exchange,提问作者StOMicha
相关产品推荐
相关产品推荐

