FFMPEG는 흔들리거나 불안한 Zoompan을 생성합니다.

FFMPEG는 흔들리거나 불안한 Zoompan을 생성합니다.

1개의 이미지로 5초짜리 mp4 비디오를 만들고 싶습니다.

아래 코드를 사용하면 비디오가 매끄 럽습니다. 기본 방향은 왼쪽 상단으로 확대됩니다.

ffmpeg -loop 1 -i prop1.jpeg -vf "zoompan=z='min(zoom+0.0015,1.5)':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

그래서 오른쪽 상단으로 확대하려면 아래 코드를 사용하는 것이 좋습니다.

ffmpeg -loop 1 -i prop1.jpeg -vf "zoompan=z='min(zoom+0.0015,1.5)':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

올바른 방향으로 확대되지만 비디오가 불안해집니다.

또한 변환할 때 일부 오류가 발생했습니다.

[swscaler @ 0x429bda0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x429bac0] Warning: data is not aligned! This can lead to a speedloss
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 97 times
[output stream 0:0 @ 0x37af200] 100 buffers queued in output stream 0:0, something may be wrong.
[swscaler @ 0x429bac0] deprecated pixel format used, make sure you did set range correctly
Last message repeated 24 times
[swscaler @ 0x42b7040] deprecated pixel format used, make sure you did set range correctly
Last message repeated 1 times

코드에 어떤 문제가 있나요?

답변1

확대/축소 전에 고급 사용:

ffmpeg -loop 1 -i prop1.jpeg -vf "scale=8000:-1,zoompan=z='min(zoom+0.0015,1.5)':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125" -c:v libx264  -t 5 -s "800x450" fade.mp4

위의 의견과 같이 이것은 ffmpeg 버그인 것 같습니다.https://trac.ffmpeg.org/ticket/4298

여기에서 이 해결 방법을 찾았습니다.ffmpeg: 흔들림 없이 부드러운 줌팬

관련 정보