我正在编写一个使用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中的时间码,屁股中的标题信息等等。我想要的是整个字幕文本文件,它被复用到容器中。
答案 0 :(得分:-1)
对于.mkv文件,您可以使用mkvextract。您可能需要先使用mkvinfo
来确定要提取的曲目。
由于您希望从自己的C程序中执行此操作,因此您可能希望使用Matroska libraries而不是命令行工具。