ffmpeg를 사용하여 비디오에서 여러 스크린 샷을 추출하는 방법을 보여주는 많은 자습서와 자료가 있습니다. -r을 설정하고 특정 금액을 시작할 수도 있습니다.
하지만 1 개의 스크린 샷 (예 : 01:23:45 인치) 또는 1 개의 스크린 샷 (86 % 인치)을 원합니다.
이것은 ffmpegthumbnailer 로 모두 가능 하지만 의존하고 싶지 않은 또 다른 종속성입니다. ffmpeg로 할 수 있기를 원합니다.
ffmpeg를 사용하여 비디오에서 여러 스크린 샷을 추출하는 방법을 보여주는 많은 자습서와 자료가 있습니다. -r을 설정하고 특정 금액을 시작할 수도 있습니다.
하지만 1 개의 스크린 샷 (예 : 01:23:45 인치) 또는 1 개의 스크린 샷 (86 % 인치)을 원합니다.
이것은 ffmpegthumbnailer 로 모두 가능 하지만 의존하고 싶지 않은 또 다른 종속성입니다. ffmpeg로 할 수 있기를 원합니다.
답변:
다음 -ss
옵션을 사용하십시오 .
ffmpeg -ss 01:23:45 -i input -vframes 1 -q:v 2 output.jpg
JPEG 출력의 경우 -q:v
출력 품질을 제어 하는 데 사용 합니다. 전체 범위는 1-31의 선형 눈금이며 값이 낮을수록 품질이 높아집니다. 2-5는 시도하기에 좋은 범위입니다.
선택 필터 등의 선택은 특정 프레임 유형, 또는 100 개의 1과 같은보다 복잡한 요구하는 다른 방법을 제공한다
-ss
입력 전에 배치 하는 것이 더 빠릅니다. FFmpeg Wiki : Seeking 및 ffmpeg
cli 도구 설명서 에서 발췌 한 내용을 참조하십시오 .
-ss
위치 (입력 / 출력)입력 옵션 (이전
-i
) 으로 사용되는 경우이 입력 파일에서 위치를 찾습니다. 대부분의 형식에서는 정확하게 검색 할 수 없으므로ffmpeg
위치 이전에 가장 가까운 검색 지점을 찾습니다. 트랜스 코딩-accurate_seek
이 활성화 되고 활성화 되면 (기본값) 탐색 지점과 위치 사이의이 추가 세그먼트가 디코딩되고 폐기됩니다. 스트림 복사를하거나 사용시-noaccurate_seek
보존됩니다.출력 옵션으로 사용되는 경우 (출력 파일 이름 앞), 디코딩하지만 타임 스탬프가 위치에 도달 할 때까지 입력을 버립니다.
위치는 초 또는
hh:mm:ss[.xxx]
형식 일 수 있습니다 .
vframes
(적어도) 버전 4.2.2에서 사용되지 않습니다. 수동으로 "[ vframes
]는 ' -frames:v
'에 대한 쓸모없는 별칭 이므로 대신 사용해야합니다."
FFMpeg는 주어진 타임 스탬프를 찾고 정확히 하나의 프레임을 이미지로 추출하여이를 수행 할 수 있습니다. 예를 들면 다음을 참조하십시오.
ffmpeg -i input_file.mp4 -ss 01:23:45 -vframes 1 output.jpg
옵션에 대해 설명하겠습니다.
-i input file the path to the input file
-ss 01:23:45 seek the position to the specified timestamp
-vframes 1 only handle one video frame
output.jpg output filename, should have a well-known extension
-ss
매개 변수 형태로 받아 값 HH:MM:SS[.xxx]
또는 초 숫자로한다. 백분율이 필요하면 미리 비디오 길이를 계산해야합니다.
ffmpeg -ss 01:23:45 -i video.mp4 -c:v png -frames:v 1 image.jpg
. 나는 또한 넣어 공지 사항 -ss
"추구"옵션을 하기 전에 다른 사람이 추천 한대로, 명령 줄에서 입력 파일.