我正在为Android使用ffmpeg来生成mp4格式的视频。我在使该命令在FFMPEG中工作时遇到了麻烦,基本上,我试图添加两个图像,对其进行缩放,添加缩放效果,最后将结果合并为一个视频文件。我做了这样的事情:
ffmpeg
-t 8 -i image1.png
-t 8 -i image2.png
-filter_complex
[0:v]scale=720:720[scl1]; [1:v]scale=720:720[scl2];
[scl1]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):d=205, fade=t=out:st=7:d=1[v0];
[scl2]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):d=205, fade=t=in:st=0:d=1,fade=t=out:st=7:d=1[v1];
[v0][v1]concat=n=2:v=1:a=0, format=yuv420p[v] -map [v] outputVideo.mp4
曾经对此命令进行过一段时间修改,但仍然无法正常工作,但出现了错误:
Input link in1:v0 parameters (size 1280x720, SAR 0:1) do not match the corresponding output link in0:v0 parameters (1280x720, SAR 45:31)
[Parsed_concat_7 @ 0xf0d77600] Failed to configure output pad on Parsed_concat_7
答案 0 :(得分:4)
使用
ffmpeg
-i image1.png
-i image2.png
-filter_complex
[0:v]scale=720:720,setsar=1[scl1]; [1:v]scale=720:720,setsar=1[scl2];
[scl1]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):s=720x720:d=205, fade=t=out:st=7:d=1[v0];
[scl2]zoompan=z=if(lte(zoom, 1.0), 1.55, max(1.001, zoom - 0.0010)):s=720x720:d=205, fade=t=in:st=0:d=1,fade=t=out:st=7:d=1[v1];
[v0][v1]concat=n=2:v=1:a=0, format=yuv420p[v] -map [v] outputVideo.mp4
在单个图像上使用缩放时,请在滤镜中而不是在输入中设置持续时间(以帧为单位)。
您突出显示的问题是由于比例滤镜调整了宽高比。 setar滤波器使它们相同。