【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.図:
公式サイトにダウンロードされたバージョン番号は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
;}
すべての受信コードは次のとおりです.
ここで私が説明するのはparticipant=new RTPParticipant(rtpEp,null,null,null);この関数には、次の4つのパラメータがあります.
宣言から、ローカルrtp、リモートrtp、ローカルrtcp、リモートrtcpの4つのIPノードに分かれていることがわかります.
上のコードから分かるように、このRTP.NETの使用は比較的簡単です.
もちろんその機能は比較的に多くて、私のここはただ1つの導入で、みんなは自分で深く研究することができます.
ファイルディレクトリは次のとおりです:
簡単に理解できます.
RtpNetCsharpはその簡単な例であり、例はコマンドラインであり、簡単である.
RTP.NET.DLLはそのクラスライブラリで、それをあなたのプロジェクトにコピーしてプロジェクトに導入します.
RTP.NET.HELP.CHMはそのヘルプファイルで、MSDNのフォーマットを考えています.サンプルコードはクラスとメンバーの説明だけではありません.
RTP.NET.図:
公式サイトにダウンロードされたバージョン番号は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コンポーネントは、 ですよ。