ffmpeg 高檔多影像縮放平移

ffmpeg 高檔多影像縮放平移

在使用以下程式碼進行平移和縮放之前,我成功地在一張圖像上使用了高檔:

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 @ 0000022223004b80 月時出錯!無法將訊框注入過濾器網路:無效參數處理流程 #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 幀的縮放!我認為這不是你想要的。

由於 concat 抱怨寬高比不匹配,因此添加了 setsar 以強制使用通用 SAR。

相關內容