5

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

例如,在 cli 上,

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

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

我试过弄乱 AVSubtitle、avcodec_decode_subtitle2 等,但他们逐行返回字幕。我想要 srts 中的时间码、ass 中的标头信息等。我想要的是混合到容器中的整个字幕文本文件。

4

1 回答 1

-1

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

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

于 2013-04-06T12:58:38.033 回答