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 );
答案 0 :(得分:2)
您可以使用以下命令列出clockoverlay的属性:
gst-inspect-1.0 clockoverlay
应该有与文本颜色相关的属性。在1.0中,它被命名为“颜色”。然后使用g_object_set将颜色设置为ARGB格式的int。还有一种“轮廓颜色”,使其更加醒目。