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

时间:2016-02-24 14:45:12

标签: c linux gstreamer

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 );

1 个答案:

答案 0 :(得分:2)

您可以使用以下命令列出clockoverlay的属性:

gst-inspect-1.0 clockoverlay

应该有与文本颜色相关的属性。在1.0中,它被命名为“颜色”。然后使用g_object_set将颜色设置为ARGB格式的int。还有一种“轮廓颜色”,使其更加醒目。