【RTP.NET入門シリーズ1】最初のRTPパケットを受信する.

5630 ワード

まず、ダウンロードコンポーネントのダウンロードアドレス:http://streamcoders.com/pub/RTP.NET.1.0.981.zip
ファイルディレクトリは次のとおりです:
簡単に理解できます.
RtpNetCsharpはその簡単な例であり、例はコマンドラインであり、簡単である.
RTP.NET.DLLはそのクラスライブラリで、それをあなたのプロジェクトにコピーしてプロジェクトに導入します.
RTP.NET.HELP.CHMはそのヘルプファイルで、MSDNのフォーマットを考えています.サンプルコードはクラスとメンバーの説明だけではありません.
RTP.NET.図:
image公式サイトにダウンロードされたバージョン番号は1.0.981です.にロードされます.Netlに表示されるバージョン番号は:1.5981.29483です.さっき言ったように、このコンポーネントはMediaSuiteです.NETにはコンポーネントが入っていますが、1.5981.29483というバージョン番号は実際にMediaSuiteです.NETというバージョン番号です.
その使用について言えば、実はサイトに関連するコードのヒントがあります.私も言っています.RTP.Netコアのいくつかのクラス:
RTPSession管理RTPセッションの
RTPReceiverは、同様のイベントのメカニズムを介してRTPパケットを受信する責任を負います.
RTPSenderはRTPパケットの送信を担当する
RTPParticipant通信するRTPパートナーを設定
 
次に、私たちの最初のRTPパッケージを受け入れます.
作業の流れは次のとおりです.
まずRTPセッションを作成し、
次に、RTPパートナー、すなわち受信側を指定し、RTP受信クラスを作成し、先ほどのRTPパートナーを受信クラスに追加します.
さらに、受信関数を作成し、RTPセッションの受信パケットエージェントをこの関数に指定します.
最後に受信者クラスをRTPセッションに追加すればよい.RTP.NETはバックグラウンドスレッドを起動してRTPパッケージを自動的に受け入れます.
 
RTPパケットは、類似したイベントによって取得される.確かに簡単です.以下のようにします.
session.NewRTPPacket 
=
 NewRTPPacket;
bool
 NewRTPPacket(RTPPacket packet, 
byte
[] rawBuffer){       Console.WriteLine(packet.ToString());       
return
 
true
;}
 
 
すべての受信コードは次のとおりです.
	RTPSession session;

        RTPReceiver receiver;

        RTPParticipant participant;



        public Form1()

        {

            InitializeComponent(); 

        }



        private void button1_Click(object sender, EventArgs e)

        {

            session = new RTPSession();

            receiver = new RTPReceiver();
IPEndPoint rtpEp= new IPEndPoint(IPAddress.Parse("192.168.0.203"), 10000); IPEndPoint rtcpEp = new IPEndPoint(IPAddress.Parse("192.168.0.203"), 10001); participant = new RTPParticipant(rtpEp,null,null,null);
session.NewRTPPacket = NewRTPPacket; session.NewRTCPPacket = NewRTCPPacket; receiver.AddParticipant(participant); session.AddReceiver(receiver); }
bool NewRTPPacket(RTPPacket packet, byte[] rawBuffer) { Console.WriteLine(packet.ToString()); return true; } void NewRTCPPacket(RTCPCompoundPacket packet) { Console.WriteLine(packet.ToString()); }

ここで私が説明するのはparticipant=new RTPParticipant(rtpEp,null,null,null);この関数には、次の4つのパラメータがあります.
public RTPParticipant(IPEndPoint rtpLocalEndpoint, IPEndPoint rtpRemoteEndpoint, IPEndPoint rtcpLocalEndpoint, IPEndPoint rtcpRemoteEndpoint);

宣言から、ローカルrtp、リモートrtp、ローカルrtcp、リモートrtcpの4つのIPノードに分かれていることがわかります.
上のコードから分かるように、このRTP.NETの使用は比較的簡単です.
もちろんその機能は比較的に多くて、私のここはただ1つの導入で、みんなは自分で深く研究することができます.
 
=========================================
【RTP.NET シリーズ 】マイクロソフトが する も いやすいRTPコンポーネントは、 ですよ。