我想在树莓派和PC之间流动。我想通过tcpserversink流。 但是,流式传输不起作用。
m_pPipeline = gst_parse_launch("tcpserversrc host=192.168.0.3 port=5000 ! tsdemux ! h264parse ! avdec_h264 ! autovideosink", NULL);
以上命令将以C ++流式传输gstreamer窗口。 但是我想将视频流传输到MFC的控制器。 所以我尝试了这种方式,但是gstreaming窗口没有弹出。
src = gst_element_factory_make("tcpserversink", "src");
demux = gst_element_factory_make("tsdemux", NULL);
h264parse = gst_element_factory_make("h264parse", NULL);
avdec_h264 = gst_element_factory_make("avdec_h264", NULL);
sink = gst_element_factory_make("autovideosink", NULL);//NULL);
g_object_set(G_OBJECT(src), "host", "192.168.0.3", "port", 5000, nullptr);
gst_bin_add_many(GST_BIN(m_pPipeline), src, demux, h264parse, avdec_h264, sink, nullptr);
gst_element_set_state(src, GST_STATE_PLAYING);
运行上面的代码时,树莓派被标记为成功连接。但是,gstreamer窗口始终不会弹出。
Raspberry Pi的状态如下。
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
树莓派的“ sh”文件执行如下。
gst-launch-1.0 v412src device=/dev/video0 ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! mpegtsmux ! tcpclientskin host=192.168.0.3 port=5000