UDP 接続を介して音楽 (MP3 ファイル) をストリーミングするプログラムを作成しようとしています。これまでのところ、MP3 ファイル全体を送信してクライアントのマシン上のファイルに書き込むプログラムを作成しました。次に、クライアントは でファイルを再生しますpygame.mixer
。
これは明らかにストリーミングではありません。私は一生、音楽をクライアントにストリーミングする方法を理解できません。
誰かが私を正しい方向に向けることができれば、それは素晴らしいことです.
udp を使用したライブ ストリーミングは、rtsp ストリーミングのようなものを意味します。そうしたい場合は、live555 をご覧ください。rtsp ストリーミングに使用できるサーバー [live555mediaServer またはそのような名前] がその中にあります。
Gstreamer では、純粋な rtp だけを使用して基本的なストリームを実行することもできます。次のパイプラインのようなものを使用すると、それが可能になります。
gst-launch filesrc location=<yourfile> ! mp3parse ! rtpmpapay <someoptions> ! udpsink port=<someport>
そして、それを受信してデジッタし、それを返済してからデコードして再生することができます
gst-launch udpsrc port<the-some-port in the sender> ! gstrtpjitterbuffer ! rtpmpapay ! decodebin2 ! queue ! autoaudiosink
または、ffserver を使用してストリーミングを行うこともできます。rtp/rtsp を理解するためのちょっとしたグーグルは、このことを理解するのに役立ちます。データを送信するために利用できるサーバーはすでにたくさんあります。[ダーウィン、Live555]
他の形式のストリーミング [flv ファイルが必要な rtmp] と、スムーズ ストリーミングと HLS もあります。RTSP は真のライブ ストリーミング プロトコルです。