it-swarm.dev

ffmpeg가 포함 된 H264 비디오 파일에서 양질의 JPEG 이미지를 추출하려면 어떻게해야합니까?

현재이 명령을 사용하여 이미지를 추출하고 있습니다.

ffmpeg.exe -i 10fps.h264 -r 10 -f image2 10fps.h264_ % 03d.jpeg

그러나 JPEG 이미지 품질을 어떻게 향상시킬 수 있습니까?

86
Daniel Gartmann

-qscale:v를 사용하십시오.

출력 옵션으로 -qscale:v (또는 별명 -q:v)를 사용하십시오. JPEG의 유효 범위는 2-31이며 31은 최악의 품질입니다. 2-5의 값을 사용하는 것이 좋습니다.

일련의 이미지를 출력하려면

ffmpeg -i input.mp4 -qscale:v 2 output_%03d.jpg

~ 60 초 동안 단일 이미지를 출력하려면 :

ffmpeg -ss 60 -i input.mp4 -qscale:v 4 -frames:v 1 output.jpg

이것은 모든 비디오 입력에서 작동합니다. 입력이 MJPEG 인 경우 아래를 참조하십시오.


MJPEG

MJPEG (Motion JPEG)를 입력하면 화질 손실없이 이미지를 추출 할 수 있습니다.

ffmpeg 또는 ffprobe 콘솔 출력은 입력이 MJPEG인지 여부를 알려줍니다.

$ ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=nw=1 input.avi
codec_name=mjpeg

그런 다음 mjpeg2jpeg 비트 스트림 필터 를 사용하여 프레임을 추출 할 수 있습니다.

$ ffmpeg -i input.avi -codec:v copy -bsf:v mjpeg2jpeg output_%03d.jpg

참조

174
llogan