zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    冲刺五
    ubuntu安装utorrent
    struts2中properties属性
    Hadoop下的word count程序
    导入svn项目时eclipse崩溃
    Struts2 中jsp直接跳转到action
    用eclipse开发hadoop程序
    ubuntu下安装java
    【橙色警报】最新盗qq号方式,连我这个老鸟都一不小心被骗了
    在ubuntu上安装hadoop(书和官方文档结合的)
  • 原文地址:https://www.cnblogs.com/herenwei-wayne/p/4379575.html
Copyright © 2011-2022 走看看