2011-08-08 7 views
6

저는 FFmpeg를 사용하여 단일 프레임을 이미지로 추출했습니다.FFmpeg -ss 이상한 행동

ffmpeg.exe -ss 00:30:00 -i video.avi -y -an -vframes 1 test.png 

유일한 차이점은의 순서입니다 - :

ffmpeg.exe -i video.avi -ss 00:30:00 -y -an -vframes 1 test.png 

은 ... 거의 동일 다음,보다 훨씬 느리게 실행하지만, 순간 : 일부 인터넷 검색을하지만, 그 실행을 밝혀 i와 -ss. 이것은 의도적 인 '기능'입니까? 차이점에 대한 기술적 인 이유가 있습니까?

답변

6

이것은 숙련 된 추측입니다. -ss-i 전에 발생하면 입력에 대한 지침으로 처리되므로 비디오 스트림의 첫 번째 프레임은 30 초에 첫 번째 프레임이됩니다. -i 다음에 -ss이 발생하면 효과로 처리되고 첫 30 초 프레임이 읽히고 삭제되어 성능 차이가 발생합니다.

6

wberry의 대답은 참으로 교육 수준이 높습니다. 설명서를 읽으면 더욱 도움이 될 수 있습니다

'-ss 위치 (입력/출력)' 입력 옵션 (-i 전)으로 사용

이 위치이 입력 파일에 추구 . 출력 옵션 (출력 파일 이름 이전)으로 사용되면 타임 스탬프가 위치에 도달 할 때까지 입력을 삭제하지만 버립니다. 이것은 느리지 만 더 정확합니다.

(위치 초 또는 HH에서 일 수있다 : MM : SS [.xxx에] 폼.) I는 현재을 쓰고 (http://ffmpeg.org/ffmpeg.html#Main-options에서 발견)

오디오 그래버 응용 프로그램을 사용하고 있으므로 더 느리지 만보다 정확한 방법을 사용하고 있습니다. 최선의 방법을 선택하는 것은 귀하에게 달려 있습니다.

1

-i가 -i 앞에 오면 가장 가까운 키 프레임 (H.264는 250의 GOP를 사용하기 때문에 H.264 파일의 경우 25fps마다 매 10 초입니다)로 이동합니다. 이렇게하면 정말 빠르게 탐색 할 수 있으므로 -i 뒤에 -ss를 추가하면 첫 번째 -ss 뒤에 소수점 위치로 이동할 수 있습니다.

-i 이후 -i가 정확한 위치를 찾지 만 매우 느립니다.

예제와 나는 또한 단지 비디오 컨텐츠의 썸네일을 생성하는 응용 프로그램을 완료

1

자세한 내용은 https://trac.ffmpeg.org/wiki/Seeking를 참조하십시오. 반드시 확인해야

, http://ffmpeg.org/trac/ffmpeg/wiki/Seeking%20with%20FFmpeg

그것은 빠른 프레임 선택하여, 프레임 time 정확도를 제공하는 통합 명령에서 (두 위치에서)를 -ss 플래그를 조합하는 방법을 설명한다.

ffmpeg -ss 00:02:30 -i Underworld.Awakening.avi -ss 00:00:30 -vframes 1 out3.jpg

또한 하나의 비디오에서 여러 엄지 손가락과 같은 다른 가능한 트릭에 대한 링크가 포함되어 있습니다.