c# 遠程監控(3) RTP協議 RTP.NET.DLL


我們在上一期已經可以獲取視頻或者攝像頭數據,並可以獲取幀數據,那么我們這一期就研究下RTP,並發送數據到目標服務器。

  1. RTP協議簡介 這位朋友講的很好:http://blog.csdn.net/bripengandre/article/details/2238818
  2. RTP.NET.dll
  3. 核心代碼講解

實時傳輸協議RTP(Real-time Transport Protocol)是一個網絡傳輸協議,在我的實現中大致原理如下:

其實RTP就是在UDP傳輸協議上又簡單封裝了一層,更多的關於RTP大家可以百度、谷歌

 

既然要用.NET實現,那么就得找個相關的類庫,還好有現成的,大家可以去我的百度雲盤下載:RTP.NET.DLL

里面有許多已經實現好的類和接口了可以直接使用,省去了自己去實現RTP了

RTP庫中主要有三個類:

            Session = new RTPSession();
            Sender = new RTPSender();
            Receiver = new RTPReceiver();

第一個Session是會話,第二個是一個發送者,第三個是接受者

        public RtpFramer(String RTPipAddress, int RTPport, String RTCPipAddress, int RTCPport, String forwardIP, int forwardPort)
        {
            Session = new RTPSession();
            Sender = new RTPSender();
            Receiver = new RTPReceiver();

            var senderEp = new IPEndPoint(IPAddress.Parse(forwardIP), forwardPort);
            senderParticipant = new RTPParticipant(senderEp);
            Sender.AddParticipant(senderParticipant);
            Session.AddSender(Sender);

            var rtpEp = new IPEndPoint(IPAddress.Parse(RTPipAddress), RTPport);
            var rtcpEp = new IPEndPoint(IPAddress.Parse(RTCPipAddress), RTCPport);
            participant = new RTPParticipant(rtpEp, rtcpEp);
            Session.NewRTPPacket = NewRTPPacket;
            Session.NewRTCPPacket = NewRTCPPacket;
            Receiver.AddParticipant(participant);
            Session.AddReceiver(Receiver);
        }

 

代碼下載請前往百度雲:RTPClient

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM