我正在通过udp将yuv文件作为mpegstream传输。
并且,我正在接收使用以下管道,
gst-launch-1.0 udpsrc port=8765 ! rtpmp2tdepay ! tsdemux ! avdec_h264 ! appsink
at,appsink,我正在接收视频缓冲区。但是,现在我想知道传入的视频流分辨率。
如何找到传入视频的分辨率。
答案 0 :(得分:1)
在视频解码器的接收器垫上添加事件探测器。 API需要一个处理程序。检查处理程序中的GST_EVENT_CAPS。
答案 1 :(得分:-1)
sinkPad = gst_element_get_static_pad (Sink, "sink");
sinkCaps = gst_pad_get_current_caps (sinkPad);
UU_PRINT("Caps :: %s", gst_caps_to_string (sinkCaps));
str = gst_caps_get_structure(sinkCaps, 0);
if((!gst_structure_get_int (str, "width", &width)) || (gst_structure_get_int (str, "height", &height)))
{
UU_PRINT("No Width/Height are Available in the Incoming Stream Data !!");
}
UU_PRINT("Width :: %d Hieght %d", width, height);
gst_caps_unref(sinkCaps);