ffmpeg 複数の画像の拡大ズームパン

ffmpeg 複数の画像の拡大ズームパン

次のコードを使用して、パンとズームの前に 1 つの画像でアップスケールを使用することに成功しました。

ffmpeg -y -t 15 -i 1.jpg -t 15 -i 2.jpg -t 15 -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417[v0]; [1:v]zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -s "800x450" -t 300 -threads 2 video.mp4

しかし、次の方法を使用して複数の画像で同じことを実行することはできません。

ffmpeg -y -t 15 -i 1.jpg -t 15 -i 2.jpg -t 15 -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417[v0]; [1:v]scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -s "800x450" -t 300 -threads 2 video.mp4

生成されたエラーは次のとおりです:

入力リンク in1:v0 パラメータ (サイズ 1280x720、SAR 59001:59000) が、対応する出力リンク in0:v0 パラメータ (1280x720、SAR 1:1) と一致しません [Parsed_concat_5 @ 0000022fb3004b80] Parsed_concat_5 で出力パッドを構成できませんでした フィルターの再初期化中にエラーが発生しました! フィルター ネットワークにフレームを挿入できませんでした: 引数が無効です ストリーム #1:0 のデコードされたデータの処理中にエラーが発生しました 変換に失敗しました!

ご協力いただければ幸いです。ありがとうございます。

答え1

使用

ffmpeg -y -i 1.jpg -i 2.jpg -filter_complex "[0:v]scale=8000:-1,zoompan=z='min(zoom+0.0020,1.5)':d=417:s=800x450,setsar=1[v0]; [1:v]scale=8000:-1,zoompan=z='if(lte(zoom,1.0),1.5,max(1.021,zoom-0.0020))':d=417:s=800x450,setsar=1,fade=t=in:st=0:d=5[v1];[v0][v1]concat=n=2:v=1:a=0,format=yuv420p[v]" -c:v libx264 -map "[v]" -t 300 -threads 2 video.mp4

zoompan は各画像を個別に操作します。-t 15各画像の前に追加することで、各画像の 375 フレームに対して操作が行われ、それぞれ 417 フレームの zoompan が生成されます。これは必要なことではないと思います。

concat はアスペクト比の不一致についてエラーを報告しているため、共通の SAR を強制するために setsar が追加されます。

関連情報