录制时的 Gstreamer 字幕

Gstreamer subtitles while recording

我是 GStreamer 的新手,我正在尝试使用字幕流对视频流(目前为 v4l2src)进行编码,并将其混合到 MPEG ts 容器中。我可以使用 'textoverlay' 来设置数据,但我不想将数据刻录到图像中。但是我想使用字幕流对录制视频时生成的 'metadata' 进行编码。

有什么方法可以随着时间的推移将字幕添加到 MPEG ts 中?字幕文本的内容是事先不知道的,例如移动摄像机的 gps 坐标。

有'subtitleoverlay'插件,但我不太了解这个。它是像 'textoverlay' 那样将文本刻录到图像中还是添加单独的流?

我认为 subtitleoverlay 渲染并将文本刻录到视频帧中。检查 example pipeline 没有魔法 - 在字幕叠加后有 videoconvert 可以处理视频帧..

我想您可以将字幕流附加到 mpegtsmux 元素中。我希望这是 possible now - there is this bug/feature request,我希望它能让这成为可能..

我检查了 mpegtsmux 的功能,它支持:

subpicture/x-dvb

 application/x-teletext

如果你能以某种方式设法以 subpicture/x-dvb 的形式输入字幕,那么稍后你可以在接收器上使用 dvbsuboverlay 元素来显示它们.. 我没有找到如何从文本文件实际创建这样的流的方法(我发现 this 问题但没有答案,也许在 IRC 上问)..

我觉得图文电视可以显示字幕..但这可能不是你想要的(我不知道)..

在这两种情况下,我认为如果您以 subtitles.mpg 的形式渲染带有字幕的流(仅字幕),您可以使用它..我想有一些工具可以使用用于那个..

希望你能以某种方式使用它