주어진 시간에 ffmpeg가있는 비디오의 스크린 샷 1 개를 추출하는 방법은 무엇입니까?
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]
형식 일 수 있습니다 .
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]
또는 초 숫자로한다. 백분율이 필요하면 미리 비디오 길이를 계산해야합니다.
'developer tip' 카테고리의 다른 글
HTTP 상태 코드 0-오류 도메인 = NSURLErrorDomain? (0) | 2020.09.21 |
---|---|
Swift에서 Array [String] 슬라이싱 반환 유형이 [String]이 아닌 것 같습니다. (0) | 2020.09.21 |
len ()과 .__ len __ ()의 차이점은 무엇입니까? (0) | 2020.09.21 |
모든 ASCII 문자 목록을 포함하는 Python 라이브러리가 있습니까? (0) | 2020.09.21 |
Django 클래스 기반 뷰 (TemplateView)의 URL 매개 변수 및 로직 (0) | 2020.09.21 |