5

私は ffmpeg の libav* ライブラリを使用する C プログラムを作成しており、ドレンジャーのチュートリアルを使用して、オーディオとビデオの両方を正しくデコードできます。現在、字幕を抽出しようとしています。私は実際にそれらを時間通りにデコードしてビデオに表示したくありませんが、実際にはコンテナーから字幕テキストを抽出します。

たとえば、cli では、

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

お尻のファイルを返してくれます。(何らかの理由で、srts はテキストのみを返します。)

AVSubtitle、avcodec_decode_subtitle2 などをいじってみましたが、字幕が 1 行ずつ返されます。srts のタイムコード、ass のヘッダー情報などが必要です。必要なのは、コンテナーに多重化された字幕テキスト ファイル全体だけです。

4

1 に答える 1

-1

.mkv ファイルの場合、mkvextractを使用できます。mkvinfo抽出するトラックを特定するために、最初にを使用する必要がある場合があります。

独自の C プログラムからこれを実行したいので、コマンド ライン ツールの代わりにMatroska ライブラリを使用することをお勧めします。

于 2013-04-06T12:58:38.033 に答える