ffmpeg를 사용하여 어떻게 MP4를 변환하고 GIF로 자르고 크기를 조정할 수 있나요?

ffmpeg를 사용하여 어떻게 MP4를 변환하고 GIF로 자르고 크기를 조정할 수 있나요?

ffmpeg에서 1280x720 MP4 비디오 파일을 가져와 정사각형 크기 비율로 자르고 640x640으로 크기를 조정하고 싶습니다.

다음 두 명령은 훌륭한 GIF 품질로 작동하지만 올바른 크기 조정이 누락되었습니다. GIF 출력을 제공하지만 크기는 640x640이 아닌 1138x640입니다.

팔레트 생성:

ffmpeg -y -ss 30 -t 3 -i input.mp4 \
-vf fps=10,scale=1138:-1:flags=lanczos,palettegen palette.png

팔레트를 사용하여 GIF 출력:

ffmpeg -ss 30 -t 3 -i input.mp4 -i palette.png -filter_complex \
"fps=10,scale=1138:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

이것은 1138x640.gif를 제공하지만 다른 별도의 명령을 사용하지 않고 어떻게 640x640이 되도록 할 수 있습니까?

답변1

다음은 1280x720 입력에 작동하는 간단한 방법입니다.

팔레트 생성:

ffmpeg -i input.mp4 -filter_complex "fps=10,scale=-1:640,crop=ih:ih,setsar=1,palettegen" palette.png

GIF 만들기:

ffmpeg -i input.mp4 -i palette.png -filter_complex "[0]fps=10,scale=-1:640,crop=ih:ih,setsar=1[x];[x][1:v]paletteuse" output.gif

원하는 경우 이를 더 복잡하게 만들 수 있습니다.force_aspect_ratio스케일 옵션 추가임의의 입력 크기를 640x640에 맞추고분할 및 FIFO 추가임시 팔레트 파일을 만들지 않으려면.

관련 정보