답변:
비디오 필터 -skip_frame
가 없어도 보다 간단하게 사용할 수 있습니다 select
.
ffmpeg -skip_frame nokey -i 2.flv -vsync 0 -r 30 -f image2 thumbnails-%02d.jpeg
-threads 1
기본에 비해, -threads auto
그것은 만드는 cropdetect
필터 그래프 ( ffmpeg -threads 1 -skip_frame nokey -i input.mkv -filter:v select='not(mod(n\,20))',cropdetect -an -f null /dev/null
빠른 내 시스템 (60 30 대에 이르기까지)에로) 2 배!
-threads 1
는 그렇지 않으면 출력 키 프레임 시퀀스가 비 순차적으로 발행 될 수 있기 때문입니다. 이 문제를 처리하는 일종의 사후 방식이있는 경우 멀티 스레딩을 유지할 수 있습니다. 또한을 사용할 때에도 순서가 잘못된 키 프레임을 얻는 것이 여전히 가능해 -threads 1
보이지만 이제는 이러한 경우 h264 디코더 오류가 발생 illegal short term buffer state detected
합니다.
ffmpeg -i 2.flv -vf "select=eq(pict_type\,I),scale=73x41" \
-vsync vfr -qscale:v 2 thumbnails-%02d.jpeg
몇 가지 팁 :
필터는 -i
출력 옵션이므로 옵션 앞에 오지 않아야합니다 . 정확히 어디에서 명령을 받았는지 모르겠지만 PICT_TYPE_I
존재하지는 않습니다 I
.
에서 scale
당신이 대체 할 수있는 필터 73
나 41
같은 : 필터가 자동으로 너비 또는 높이가 가로 세로 비율을 유지하기 위해 계산 scale=73:-1
또는 scale=-1:41
. 이렇게하면 "강제"스케일링으로 인해 늘어나거나 찌그러지는 것을 방지 할 수 있습니다.
출력 품질은 -qscale:v
(또는 별칭 -q:v
) 으로 제어 할 수 있습니다 . 유효 범위는 2-31의 선형 스케일이며 값이 낮을수록 품질이 높습니다.
사용자가 ffmpeg
입력이 나에게 이야기하기 전에 필터를 할 수는 구식이 될 수 있습니다. 운영 체제에 맞는 최신 정적 빌드 를 다운로드 하거나 위의 방법으로 문제가 해결되지 않으면 컴파일 안내서 에 따라 직접 빌드하십시오 .
ffmpeg -i 2.flv -vf "select=eq(pict_type\,I)" -vsync vfr frame-%02d.png
이 오류가 발생하면 :
입력 URL 1508.mp4에 옵션 vf (비디오 필터 설정)를 적용 할 수 없습니다. 입력 옵션을 출력 파일에 적용하려고하거나 그 반대의 경우도 있습니다. 이 옵션을 속한 파일보다 먼저 이동하십시오. 입력 파일 1508.mp4의 구문 분석 옵션 오류가 발생했습니다. 입력 파일을 여는 중 오류 : 잘못된 인수
당신은 이것을 할 수 있습니다 :
ffmpeg -i 263.mp4 -vf select=eq(pict_type\,PICT_TYPE_I) -vsync 2 -s 480x320 -r 24 -f image2 thumbnails-%05d.jpeg
== --------------------------------------------
“-i”매개 변수 사전