如何在 GStreamer 上添加文本变量?
How to add Text variable on GStreamer?
我是 GStreamer 的新手? GStreamer 太棒了,我可以在屏幕上叠加文本、日期时间。现在我只想覆盖可变文本,例如随机数或其他变化的内容?
叠加文字:
gst-launch-1.0 imxv4l2src device=/dev/video0 ! 'video/x-raw,format=(string)NV12,width=1280,height=720,framerate=(fraction)30/1' ! textoverlay text="Hi Whosebug" valignment=top halignment=left font-desc="Sans, 12" ! autovideosink
我该怎么做?
非常感谢!
东安
text
变量是 属性。您可以通过 C api 中的 g_object_set()
进行设置。您可以使用存在 Glib/GStreamer 绑定的任何其他语言。但请注意,您需要编写一个真正的 GStreamer 应用程序。您不能通过简单地使用 gst-lauch-1.0
来做到这一点。该应用程序适用于测试目的,但只允许您在 GStreamer 框架内做那么多。
编辑:
添加代码:
之前:
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
尝试这样的事情:
for (int i = 0; i < 10; i++) {
snprintf (var_str, sizeof(var_str), "%d",num++);
g_object_set (text, "text", var_str, NULL);
g_usleep(1000*1000);
}
我是 GStreamer 的新手? GStreamer 太棒了,我可以在屏幕上叠加文本、日期时间。现在我只想覆盖可变文本,例如随机数或其他变化的内容?
叠加文字:
gst-launch-1.0 imxv4l2src device=/dev/video0 ! 'video/x-raw,format=(string)NV12,width=1280,height=720,framerate=(fraction)30/1' ! textoverlay text="Hi Whosebug" valignment=top halignment=left font-desc="Sans, 12" ! autovideosink
我该怎么做?
非常感谢!
东安
text
变量是 属性。您可以通过 C api 中的 g_object_set()
进行设置。您可以使用存在 Glib/GStreamer 绑定的任何其他语言。但请注意,您需要编写一个真正的 GStreamer 应用程序。您不能通过简单地使用 gst-lauch-1.0
来做到这一点。该应用程序适用于测试目的,但只允许您在 GStreamer 框架内做那么多。
编辑:
添加代码:
之前:
/* Wait until error or EOS */
bus = gst_element_get_bus (pipeline);
尝试这样的事情:
for (int i = 0; i < 10; i++) {
snprintf (var_str, sizeof(var_str), "%d",num++);
g_object_set (text, "text", var_str, NULL);
g_usleep(1000*1000);
}