1

私は gstreamer を使用しており、主に音楽再生機能をいじっています。

現在、RTP を使用して LAN 経由で mp3 ストリームを送信しようとしていますが、今のところ成功していません。

送信者側では、次のパイプラインを使用します。

gst-launch -v filesrc location=./my_music_file.mp3 ! ffdemux_mp3 ! rtpmpapay ! udpsink ポート=6969 ホスト=192.168.0.200

受信側では、次のパイプラインを使用します。

gst-launch -v udpsrc port=6969 caps="application/x-rtp, media=(string)audio, clock-rate=(int)90000, encoding-name=(string)MPA, payload=(int)96, ssrc=(guint)1951256090、clock-base=(guint)1711290778、seqnum-base=(guint)24773" ! rtpmpadepay ! flmp3dec ! パルスシンク

受信側からの出力は次のとおりであるため、明らかにエラーはありません。

パイプラインを一時停止に設定しています...

パイプラインはライブであり、PREROLL は必要ありません ...

パイプラインを PLAYING に設定しています ...

新しいクロック: GstSystemClock

...しかし、音は奇妙に聞こえます。まるで速く弾きすぎたかのようです。

mp3 ファイルをローカルで再生して、オーディオが機能することをテストしました。また、wav/µLaw ファイルをストリーミングして rtp をテストしました。これはすべてうまくいきます。

他の方法でも問題に直面しようとしました。たとえば、次のパイプラインを使用しました。これは、audiotestsrc/amrnb コーデックでうまく機能します。

gst-launch gstrtpbin name=rtpbin audiotestsrc ! アムンベンク!rtpamrpay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink ホスト=192.168.0.200 ポート=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-launch gstrtpbin name=rtpbin audiotestsrc ! lamemp3enc ! rtpmpapay ! rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink ホスト=192.168.0.200 ポート=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-launch -v udpsrc port=5002 caps="application/x-rtp, media=(string)audio, clock-rate=(int)90000, encoding-name=(string)MPA, payload=(int) 96" ! rtpmpadepay ! flmp3dec ! パルスシンク

私のパイプラインの何が問題なのか、誰にもわかりませんか?

ご支援ありがとうございました、

ホルヘ

4

1 に答える 1

2

このトピックに興味がある人のために、私は問題の部分的な答えを持っています.

fatc では、rtp depay からの良好な mp3 フレームを失うのは Fluendo デコーダーです。

Mad Decoder を使用すると、すべてのストリームを受信して​​聞くことができます。

RTP 経由で mp3 ストリーミングを行うために使用するパイプラインは次のとおりです。

送信者: gst-launch -v filesrc location=./my_file.mp3 ! ffdemux_mp3 ! rtpmpapay ! udpsink ポート=6969 ホスト=192.168.0.200

受信者: 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チームに投稿されました。

この助けを願っています。

于 2010-10-04T08:43:10.143 に答える