如何在 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);
  }