使用FFmpeg合并视频遇SAR参数不匹配错误,求解决方案
解决FFmpeg合并视频时SAR不匹配的问题
错误原因
你遇到的错误是因为两个视频的样本宽高比(SAR)不匹配:第一个视频的SAR为1:1,经过scale2ref滤镜处理后,输出的视频SAR变成了4:5,而concat滤镜要求所有输入视频的分辨率、SAR、帧率等参数完全一致,因此无法完成合并。
修改后的命令
将滤镜链中加入setsar强制统一SAR为第一个视频的1:1,修改后的完整命令如下:
-y -i "/home/test/Videos/Videos/First Video.mp4" -i "/home/test/Videos/Videos/Reference_Sub_884.mp4" -filter_complex "[0:v]setsar=1:1[v0_fixed];[v0_fixed][1:v]scale2ref=iw:-2,setsar=1:1[v0][v1];[v0][0:a][v1][1:a]concat=n=2:v=1:a=1[out]" -map "[out]" -r 30 -b:v 2M "/home/test/Videos/Output/First Video.mp4_Reference_Sub_884.mp4"
关键修改说明
[0:v]setsar=1:1[v0_fixed]:强制第一个视频保持SAR为1:1,避免滤镜处理过程中被修改scale2ref=iw:-2,setsar=1:1[v0][v1]:将第二个视频缩放到与第一个视频相同的宽度,同时强制其SAR也为1:1,确保两个视频参数完全对齐- 后续
concat滤镜即可正常合并参数一致的视频流和音频流
如果第一个视频分辨率不固定,这个命令依然有效——scale2ref会动态匹配第一个视频的宽度,setsar则统一宽高比参数。
内容的提问来源于stack exchange,提问作者Wolparzins
相关产品推荐
相关产品推荐

