如何使用GStreamer从.mkv文件中提取字幕?

如何使用GStreamer从.mkv文件中提取字幕?,gstreamer,Gstreamer,如果gst-discover-1.0验证.mkv有字幕,那么如何使用gst-launch-1.0提取字幕?谢谢。什么样的字幕?您必须从gst-discoverer-1.0获取上限,然后执行以下操作 gst-launch-1.0 filesrc location=/path/to/mkv ! matroskademux ! "text/x-raw" ! filesink location=subtitles 其中,“text/x-raw”由字幕流的大写字母替换。或者,也可以通过焊盘名称指定链接

如果
gst-discover-1.0
验证.mkv有字幕,那么如何使用
gst-launch-1.0
提取字幕?谢谢。

什么样的字幕?您必须从gst-discoverer-1.0获取上限,然后执行以下操作

gst-launch-1.0 filesrc location=/path/to/mkv ! matroskademux ! "text/x-raw" ! filesink location=subtitles
其中,“text/x-raw”由字幕流的大写字母替换。或者,也可以通过焊盘名称指定链接

gst-launch-1.0 filesrc location=/path/to/mkv ! matroskademux name=demux   demux.subtitle_%u ! filesink location=subtitles

其中%u应该是字幕流的曲目号。

什么类型的字幕?您必须从gst-discoverer-1.0获取上限,然后执行以下操作

gst-launch-1.0 filesrc location=/path/to/mkv ! matroskademux ! "text/x-raw" ! filesink location=subtitles
其中,“text/x-raw”由字幕流的大写字母替换。或者,也可以通过焊盘名称指定链接

gst-launch-1.0 filesrc location=/path/to/mkv ! matroskademux name=demux   demux.subtitle_%u ! filesink location=subtitles

其中%u应该是字幕流的曲目号。

非常感谢。还有一个问题。我提取的字幕没有时间戳。如何修复它?是否可以指定要输出的字幕文件的格式,例如.srt格式?谢谢,非常感谢。祝您愉快。您使用的Matroska文件显然包含纯文本字幕,时间戳存储在Matroska容器本身而不是字幕流中。例如,您可以使用srtenc元素将其编码为SRT。根据gst-discoverer-1.0,字幕的MIME类型为application/x-ass。您能给我一个如何将其转换为.SRT文件的提示或示例吗?我是GStreamer的新手。事实上,我正在阅读,只完成了前5个基本教程。谢谢非常感谢。祝你今天愉快。:)使用ssaparse,然后使用srtenc。不过,你会丢失ASS的大部分格式。它很有效。谢谢你,乔治先生。非常感谢你。非常感谢你的帮助。我陷入这个问题已经一年了。已经尝试过libvlc,但没有成功,然后返回GStreamer。最后谢谢你,真的。非常感谢你。还有一个问题。我提取的字幕没有时间戳。如何修复它?是否可以指定要输出的字幕文件的格式,例如.srt格式?谢谢,非常感谢。祝您愉快。您使用的Matroska文件显然包含纯文本字幕,时间戳存储在Matroska容器本身而不是字幕流中。例如,您可以使用srtenc元素将其编码为SRT。根据gst-discoverer-1.0,字幕的MIME类型为application/x-ass。您能给我一个如何将其转换为.SRT文件的提示或示例吗?我是GStreamer的新手。事实上,我正在阅读,只完成了前5个基本教程。谢谢非常感谢。祝你今天愉快。:)使用ssaparse,然后使用srtenc。不过,你会丢失ASS的大部分格式。它很有效。谢谢你,乔治先生。非常感谢你。非常感谢你的帮助。我陷入这个问题已经一年了。已经尝试过libvlc,但没有成功,然后返回GStreamer。最后谢谢你,真的。