
다음 코드를 사용하여 이동 및 확대/축소하기 전에 하나의 이미지에서 업스케일을 성공적으로 사용할 수 있었습니다.
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프레임의 줌팬을 생성합니다! 나는 이것이 당신이 원하는 것이라고 생각하지 않습니다.
concat은 가로 세로 비율이 일치하지 않는다고 불평하므로 공통 SAR을 강제하기 위해 setsar가 추가됩니다.