시퀀스 패턴

시퀀스 패턴

0부터 임의의 숫자까지의 이미지로 가득 찬 폴더가 있는데 이 이미지를 비디오로 변환해야 합니다. 모두 .PNG 파일입니다. 내가 사용하는 명령은 다음과 같습니다.

ffmpeg.exe -f image2 -framerate 30 -pattern_type sequence -start_number 1 -r 30 -i "img%%04d.jpg" -s 1280x720 test.avi

이것을 실행하면 다음 오류가 발생합니다.

[image2 @ 002be580] Could find no file with path 'img%04d.jpg' and index in the range 1-5

img%04d.jpg: No such file or directory

이것이 작동하도록 하려면 무엇을 변경해야 합니까?

답변1

시퀀스 패턴

기본 패턴 유형입니다. , 등을 img%d.jpg기대합니다 . 사용하면 , 등을 기대합니다 .img1.jpgimg2.jpgimg%04d.jpgimg0001.jpgimg0002.jpg

ffmpeg -framerate 30 -i img%d.jpg -vf scale=1280:-1,format=yuv420p output.mp4

글로브 패턴

glob 와일드카드 패턴 유형은 유연합니다. 이 패턴 유형은 libavformat이 globbing 지원으로 컴파일된 경우 사용할 수 있습니다.

ffmpeg -framerate 30 -pattern_type glob -i "*.png" -vf scale=1280:-1,format=yuv420p output.mp4

노트

  • 참조FFmpeg image2 디먹서 문서더 많은 정보를 위해서.

  • 그만큼scale필터이 예에서는 너비를 1280으로 변경하고 높이는 측면을 유지하기 위해 자동으로 계산됩니다.

  • 버전에 따라 입력 유형(예: PNG), 인코더(특히 libx264) 및 인코딩 옵션을 통해 ffmpeg크로마 서브샘플링을 피하거나 최소화하려고 시도할 수 있지만 FFmpeg 기반이 아닌 대부분의 플레이어는 출력을 제대로 디코딩할 수 없습니다. 그만큼format필터출력이 이러한 플레이어와 호환되는 크로마 서브샘플링 방식을 사용하는지 확인합니다.

답변2

이것은 동일한 디렉토리에서 cmd를 실행하는 데 효과적이었습니다.

ffmpeg -framerate 20 -i Animation%3d.jpg -r 5 -y fileout.mp4

Animation000~999.jpg 파일의 경우.

이것은 나에게 효과가 없었습니다.

ffmpeg -framerate 20 -pattern_type glob -i "*.jpg" -vcodec libx264 out.mp4

오류가 발생했습니다.

패턴 유형 'glob'이 선택되었지만 이 libavformat 빌드에서는 globbing이 지원되지 않습니다. *.jpg: 기능이 구현되지 않았습니다.

관련 정보