2013-10-11 69 views
0

我是gstreamer的新手。雖然這聽起來像是一個非常初級的問題,但到目前爲止我還找不到明確的答案。gstreamer:無法啓動rtsp streaming

根據一些示例,我嘗試啓動類似以下的服務器。

$ gst-launch-1.0 -v videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 ! udpsink rtsp://127.0.0.1:8554/test 

然後我使用VLC作爲客戶端(在同一臺計算機上)。

$ vlc rtsp://127.0.0.1:8554/test 

VLC報告「無法連接...」的錯誤。但是如果我在第一步中使用「測試啓動」,它可以正常工作。

另一個問題是除了VLC,我嘗試啓動這樣的客戶端。

$ gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test ! rtph264depay ! ffdec_h264 ! xvimagesink 

但GStreamer的抱怨沒有元素 「ffdec_h264」,並沒有元素 「xvimagesink」。

對於額外的信息,我安裝了「gstreamer」和「gst-plugins-base/good/bad /醜陋」,全部來自git(1.2版本)。

非常感謝你的提示。

回答

0

ffdec_h264來自gst-0.10,因此您需要在gst-1.0中使用avdec_h264。另一方面,我使用在我的udp流中播放autovideosink sync=false作爲管道接收器。

有在gst-rtsp-0.10.8/examples的示例代碼,可以幫助您與RSTP的流服務器,但我建議你收到以減少延遲GStreamer中使用udpsrc流(使用-v選項源看到caps參數配置在接收器中)。

如果您希望VLC播放您的rtsp流,則需要根據您的rtsp流會話定義.sdp文件。

你應該看到這個問題的更多信息: GStreamer rtp stream to vlc

+0

我放棄了。我應該使用「測試啓動」,這將用於我的測試目的。不過謝謝。 – user180574

0

我不知道VLC,但到目前爲止gstreamer發射線路,你似乎缺少ffmpeg包。你可以在找到其他插件的地方找到它。

此外,用autovideosink替換xvimagesink,它將使用任何可用的接收器。

+1

但是從這個鏈接(http://weeklybuild.com/2013/01/creating-an-rtsp-stream-with-gstreamer/),它似乎你可以做到沒有ffmpeg的東西,對吧? – user180574