ffmpeg에서 "-segment_times" 스위치를 사용한 사람이 있나요?

ffmpeg에서 "-segment_times" 스위치를 사용한 사람이 있나요?

ffmpegU&L을 검색하는 동안 다음과 같이 명령줄 생성을 스크립트하는 방법을 묻는 질문이 꽤 많다는 것을 발견했습니다 .

ffmpeg -i video.mp4 -ss 00:00:00 -t 00:10:00 -c copy 01.mp4
ffmpeg -i video.mp4 -ss 00:10:00 -t 00:10:00 -c copy 02.mp4
ffmpeg -i video.mp4 -ss 00:20:00 -t 00:10:00 -c copy 03.mp4

이 문제에 대한 해결책을 조사하는 동안 문제 추적기에서 다음 ffmpeg과 같은 제목의 티켓을 우연히 발견했습니다.입력 비디오를 여러 출력 비디오 청크로 분할.

이 티켓은 다음과 같이 단일 명령줄을 사용하여 비디오를 더 작은 부분으로 자르는 시점 목록을 최종적으로 제공할 수 있는 패치를 강조합니다.

$ ffmpeg -i input.avi -f segment -segment_times 10,20,40,50,90,120,180 \
      -vcodec copy output02%d.avi

패치는 이 버전의 코드 저장소에서 릴리스된 것으로 보입니다.

commit 2058b52cf8a4eea9bf046f72b98e89fe9b36d3e3
Author: Stefano Sabatini <[email protected]>
Date:   Sat Jan 28 22:36:38 2012 +0100

    lavf/segment: add -segment_times option

    Address trac ticket #1504.

나는 이 정적으로 구축된 버전을 다운로드했습니다 ffmpeg.ffmpeg.static.64bit.2013-10-05.tar.gz~에서ffmpeg 사이트, 그러나 분명히 해당 스위치는 포함되어 있지 않습니다.

$ ./ffmpeg --help |& grep segment
$

이 새로운 스위치를 제대로 작동시킬 수 있는 사람이 있나요?

답변1

그 사람이 사라졌기 때문일까?-map옵션, 입력 스트림을 출력 파일의 소스로 지정합니다. 저는 ffmpeg 2.6.1을 사용하고 있으며 다음을 사용하여 비디오를 분할할 수 있습니다 -segment_times.

ffmpeg -i foo.mp4 -segment_times 10,20,30,40 -c copy -map 0 -f segment  %03d.mp4

더 미세한 분할이 필요한 경우 OpenCV를 사용하여 원본 비디오를 읽고 필요한 프레임을 새 분할에 쓸 수 있습니다. 다음을 확인하세요:"OpenCV를 사용하여 비디오 만들기"그리고"여러 시작 및 끝 프레임 인덱스를 기반으로 비디오를 청크로 분할합니다"

관련 정보