使用 gstreamer 0.10 更改时钟显示的文本

change text of clock display using gstreamer 0.10

os : linux gstreamer 版本:0.10(这是要求,所以我不能迁移到 1.0)

问题:将带有灰色的默认文本更改为更明显的内容,例如用于时钟显示的黑色

总结: 我正在使用 gstreamer c 代码从网络摄像头流式传输视频,并在视频顶部显示时间,但不幸的是它是灰色的,所以很难看到它。谁能告诉我如何制作黑色或其他颜色。 下面是我的代码片段。

    source         = gst_element_factory_make( "v4l2src",          "source"         );
    g_object_set( G_OBJECT ( source ), "device", "/dev/video0", NULL );


    clockDisplay   = gst_element_factory_make( "clockoverlay",     "clock-time"     );
    capsFilter     = gst_element_factory_make( "capsfilter",       "camera_caps"    );
    conv           = gst_element_factory_make( "ffmpegcolorspace", "Colorconverter" );

    videoRate      = gst_element_factory_make( "videorate",        "videorate-element");
    capsFilterRate = gst_element_factory_make( "capsfilter",       "video-rate");
    videoEnc       = gst_element_factory_make( "ffenc_mpeg4",      "videoenc" );
    udpSink        = gst_element_factory_make( "udpsink",          "udpsink"  );
    g_object_set( G_OBJECT( udpSink ),
                  "host", hostAdd.c_str(), 
                  "port", PORT_NUM_REMOTE_FOR_STREAMING,
                  NULL
                  );

    // cap filter #1
    caps           = gst_caps_from_string( "video/x-raw-yuv,format=(fourcc)YUY2,width=320,height=240,framerate=10/1" );
    g_object_set ( capsFilter, "caps", caps, NULL );
    gst_caps_unref( caps );

您可以列出 clockoverlay 的属性:

gst-inspect-1.0 clockoverlay

应该有与文本颜色相关的属性。在 1.0 中它被命名为 'color'。然后只需使用 g_object_set 将颜色设置为 ARGB 格式的 int。还有一个 'outline-color' 使其更加可见。