2014-06-10 88 views
0

我有一個RTP流從HW編碼器進入,我想使用Gstreamer 0.10向RTSP客戶端提供服務。使用「test-video.c」作爲起點,我能夠爲videotestsrc服務,但沒有任何運氣爲傳入的RTP流服務。我修改了管道,如下所示。使用GStreamer通過RTSP爲RTP流提供服務

gst_rtsp_media_factory_set_launch (factory, "(gstrtpbin name=rtpbin latency=200 udpsrc caps=\"application/x-rtp, media=video, clock-rate=90000, encoding-name=MP2T-ES, payload=33\" port=5000 ! rtpbin.recv_rtp_sink_0 rtpbin. ! queue name=pay0 " 

但它不起作用。我猜它與帽子沒有正確搭配有關。

當試圖播放我得到的服務器

0:00:02.582382334 4325 0x12458 WARN    bin gstbin.c:2399:gst_bin_do_latency_func:<media-pipeline> failed to query latency 
0:00:02.786215669 4325 0x2bf03a40 WARN    basesink gstbasesink.c:3638:gst_base_sink_chain_unlocked:<multiudpsink0> warning: Internal data flow problem. 
0:00:02.786330002 4325 0x2bf03a40 WARN    basesink gstbasesink.c:3638:gst_base_sink_chain_unlocked:<multiudpsink0> warning: Received buffer without a new-segment. Assuming timestamps start from 0. 
0:00:02.786540668 4325 0x13cde0 WARN    rtspmedia rtsp-media.c:1511:default_handle_message: 0x1200b0: got warning Internal data flow problem. (gstbasesink.c(3638): gst_base_sink_chain_unlocked(): /GstPipeline:media-pipeline/GstMultiUDPSink:multiudpsink0: Received buffer without a new-segment. Assuming timestamps start from 0.) 
0:00:02.787497335 4325 0x189238 WARN      bin gstbin.c:2395:gst_bin_do_latency_func:<media-pipeline> did not really configure latency of 0:00:00.200000000 
0:00:02.816800002 4325 0x12458 WARN    rtspclient rtsp-client.c:782:handle_play_request: RTP-Info cannot be determined for stream 0 
0:00:02.818120668 4325 0x12458 WARN      bin gstbin.c:2395:gst_bin_do_latency_func:<media-pipeline> did not really configure latency of 0:00:00.200000000 

「內部數據流的問題」以下信息是不是一個令人鼓舞的跡象。輸入流是MPEG2傳輸流內的H.264視頻。關於如何解決這個問題的任何想法?

感謝,

/奧托

回答

0

您可能需要一個mpegtsdemux元素(GStreamer的不良插件)從MPEG2TS解複用的視頻流。

相關問題