使用ffmpeg库提取文本字幕

时间:2012-08-02 08:35:30

标签: ffmpeg libavcodec libav libavformat

我正在编写一个使用ffmpeg的libav * libs的C程序,使用Dranger's tutorial,我可以正确解码音频和视频。目前,我正在尝试提取字幕。我实际上不想按时解码它们并在视频上显示它们,但实际上是从容器中提取字幕文本。

例如,在cli上,

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

会给我一个屁股文件。 (出于某种原因,srts只返回文本。)

我已经尝试过使用AVSubtitle,avcodec_decode_subtitle2等,但他们会逐行返回字幕。我想要srts中的时间码,屁股中的标题信息等等。我想要的是整个字幕文本文件,它被复用到容器中。

1 个答案:

答案 0 :(得分:-1)

对于.mkv文件,您可以使用mkvextract。您可能需要先使用mkvinfo来确定要提取的曲目。

由于您希望从自己的C程序中执行此操作,因此您可能希望使用Matroska libraries而不是命令行工具。