2012-08-02 71 views
4

我正在編寫一個使用ffmpeg的libav * libs的C程序,並且使用Dranger's tutorial,我可以正確解碼音頻和視頻。目前,我正在嘗試提取字幕。我實際上不想按時解碼它們並將它們顯示在視頻上,但實際上是從容器中提取字幕文本。使用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而不是命令行工具。