2010-09-30 174 views
1

我正在使用gstreamer,主要是播放音樂播放功能。使用gtreamer通過RTP進行MP3流式播放

我目前正在嘗試使用RTP通過局域網發送mp3流,但直到現在還沒有成功。

在發送端我用下面的管道:

GST推出-v filesrc位置=/my_music_file.mp3! ffdemux_mp3! rtpmpapay! udpsink端口= 6969主機= 192.168.0.200

在接收器側予使用下面的管道:

GST-發射-v udpsrc端口= 6969個帽=「應用程序/ x-RTP,媒體=(串)的音頻,時鐘速率=(int)90000,編碼名稱=(字符串)MPA,淨荷=(int)96,ssrc =(guint)1951256090,clock-base =(guint)1711290778,seqnum-base =(guint)24773 「! rtpmpadepay! flump3dec! pulsesink

目前顯然沒有錯誤從接收端輸出爲:

設置管道停頓了一下。

管道是活的,不需要PREROLL ...

設置管道玩....

新的時鐘:GstSystemClock

...但聲音聽到奇怪,就好像它已經發揮 太快。

我已經通過本地播放mp3文件測試過音頻。我也通過流wav /μLaw文件測試了rtp。所有這一切運作良好。

我試圖要面對的問題在其他方面,比如,我用下面的管道,taht與audiotestsrc/amrnb編解碼器工作良好:

GST推出gstrtpbin名= rtpbin audiotestsrc! amrnbenc! rtpamrpay! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0! udpsink host = 192.168.0.200 port = 5002 rtpbin.send_rtcp_src_0! udpsink port = 5003 host = 192.168.0.200 sync = false async = false udpsrc port = 5005! rtpbin.recv_rtcp_sink_1

但使用與跛腳同一管道時,再次在接收端也沒有錯誤,但有一個「太快了」輸出:

發件人: GST推出gstrtpbin名= rtpbin audiotestsrc! lamemp3enc! rtpmpapay! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0! udpsink host = 192.168.0.200 port = 5002 rtpbin.send_rtcp_src_0! udpsink port = 5003 host = 192.168.0.200 sync = false async = false udpsrc port = 5005! rtpbin.recv_rtcp_sink_1

Receiver: gst-launch -v udpsrc port = 5002 caps =「application/x-rtp,media =(string)audio,clock-rate =(int)90000,encoding-name =(string )MPA,淨荷=(int)96「! rtpmpadepay! flump3dec! pulsesink

任何人都可以知道我的管道有什麼問題嗎?

非常感謝您對我們的支持,

豪爾赫

回答

1

對於那些誰是這個話題感興趣的,我有這個問題的部分答案。

在fatc中,fluent解碼器損失了來自rtp depay的良好mp3幀。

當我使用瘋狂的解碼器,我可以接收和聽到所有的流。

下面是我使用過RTP做MP3流管道:

發件人: GST推出-v filesrc位置=/my_file.mp3! ffdemux_mp3! rtpmpapay! udpsink port = 6969 host = 192.168.0.200

Receiver: gst-launch -v udpsrc port = 6969 caps =「application/x-rtp,media =(string)audio,clock-rate =(int)90000, encoding-name =(string)MPA,payload =(int)96「! rtpmpadepay!瘋了!脈衝鏈

問題已發佈到fluendo團隊。

希望得到這個幫助。

+0

嘿,我正在收到警告,當我試圖發送。如何解決這個警告。警告:錯誤的管道:沒有元素「ffdemux_mp3」。 – ams 2017-08-11 09:06:13