2012-08-02 4 views
4

ffmpeg의 libav * libs를 사용하는 C 프로그램을 작성 중이며 Dranger's tutorial을 사용하면 오디오와 비디오를 올바르게 디코딩 할 수 있습니다. 현재 자막을 추출하려고합니다. 사실 제때에 해독하고 비디오에 표시하고 싶지는 않지만 실제로 컨테이너에서 자막 텍스트를 추출합니다. CLI를에 예를 들어ffmpeg 라이브러리를 사용하여 텍스트 자막 추출하기

,

ffmpeg -i video.mkv -map 0:4 -scodec copy out.ass 

는 나에게 엉덩이 파일을 돌려 줄 것이다. (어떤 이유로 srts는 텍스트 만 반환합니다.) AVSubtitle, avcodec_decode_subtitle2 등을 사용하여 해봤지만 한 줄씩 자막을 반환합니다. srts의 타임 코드, 엉덩이의 헤더 정보 등을 원합니다. 원하는 것은 컨테이너에 다중화 된 전체 자막 텍스트 파일입니다.

답변

-1

.mkv 파일의 경우 mkvextract을 사용할 수 있습니다. 추출 할 트랙을 식별하려면 먼저 mkvinfo을 사용해야 할 수도 있습니다.

자신의 C 프로그램에서이 작업을 수행하려면 명령 줄 도구 대신 Matroska libraries을 사용하고 싶을 것입니다.