Joh*_*ith 5 ffmpeg libavcodec libav libavformat
我正在编写一个使用 ffmpeg 的 libav* 库的 C 程序,并使用Dranger 的教程,我可以正确解码音频和视频。目前,我正在尝试提取字幕。我实际上不想按时解码它们并将它们显示在视频上,而是实际上从容器中提取字幕文本。
例如,在 cli 上,
ffmpeg -i video.mkv -map 0:4 -scodec copy out.ass
Run Code Online (Sandbox Code Playgroud)
会把屁股档案还给我。(由于某种原因,srts 只返回文本。)
我试过搞乱 AVSubtitle、avcodec_decode_subtitle2 等,但它们逐行返回字幕。我想要 srts 中的时间码、ass 中的标题信息等。我想要的只是混合到容器中的整个字幕文本文件。
miv*_*ivk -1
对于 .mkv 文件,您可以使用mkvextract。您可能需要首先使用mkvinfo
来确定要提取的曲目。
由于您想通过自己的 C 程序执行此操作,因此您可能希望使用Matroska 库而不是命令行工具。