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

时间: 2024-11-06 10:59:09

c# 远程监控(3) RTP协议 RTP.NET.DLL的相关文章

c# 远程监控(4) 接收端 RTP包重组 分屏显示

我们在上一期使用RTP协议,并进行了配置,打包了视频数据,这一期我们就对发送的数据进行重组,并显示在接受端上.最后对其进行扩展,支持多客户端视频发送,并在接收端分屏显示.完成远程监控的模拟. 先来个效果图吧 private bool NewRTPPacket(RTPPacket packet) { if (!Clients.ContainsKey(packet.SSRC))//如果接受端第一次接受到某源的数据,则加入到 { if (Clients.Count < 4)//如果发送端为4,则丢弃包

【转】实现RTP协议的H.264视频传输系统

1.  引言       随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间.为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技术.流媒体由于具有启动时延小.节省客户端存储空间等优势,逐渐成为人们的首选,流媒体网络应用也在全球范围内得到不断的发展.其中实时流传输协议 RTP 详细说明了在互联网上传递音频和视频的

基于RTP协议的H.264传输

1.  引言        随 着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免 的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间.为了解决这个矛盾,一种新的媒体技术应运而生,这就是流媒体技 术.流媒体由于具有启动时延小.节省客户端存储空间等优势,逐渐成为人们的首选,流媒体网络应用也在全球范围内得到不断的发展.其中实时流传输协议 RTP 详细说明了在互联网上传递音频

IP实时传输协议RTP/RTCP详解

1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能. 2.RTP/RTCP协议简介 RTP 由 IETF(www.ietf.org)定义在 RFC 3550和3551中. RTP被定义为传输音频.视频.模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传

RTP协议之Header结构解析

实时传输协议 RTP,RTP 提供带有实时特性的端对端数据传输服务,传输的数据如:交互式的音频和视频.那些服务包括有效载荷类型定义,序列号,时间戳和传输监测控制.应用程序在 UDP 上运行 RTP 来使用它的多路技术和 checksum 服务.2 种协议都提供传输协议的部分功能.不过,RTP 可能被其他适当的下层网络和传输协议使用.如 果下层网络支持,RTP 支持数据使用多播分发机制转发到多个目的地. 注意 RTP 本身没有提供任何的机制来确保实时的传输或其他的服务质量保证,而是由低层的服务来完

RTP 协议详解

1. RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本).RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议).RTP用来为IP网上的语音.图像.传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务.RTP为Interne

自己动手写RTP服务器——关于RTP协议

转自:http://blog.csdn.net/baby313/article/details/7353605 本文会带领着你一步步动手实现一个简单的RTP传输服务器,旨在了解RTP流媒体传输协议以及一些关于多媒体编解码的知识. 关于RTP协议的必备知识 要动手实现一个协议,当然首先需要阅读该协议的文档.RTP协议的文档,有rfc1889.rfc1890.rfc3550,其中rfc3550是现在的版本,另外两个是过期版.这个协议可以在ietf的官网找到:http://tools.ietf.org

RTP协议分析

整理记录 版本号 时间 内容 整理人 V1.0 2008-03-31 RTP协议分析初稿 彭令鹏 RTP协议分析 第1章.     RTP概述 1.1.  RTP是什么 RTP全名是Real-time Transport Protocol(实时传输协议).它是IETF提出的一个标准,相应的RFC文档为RFC3550(RFC1889为其过期版本号).RFC3550不仅定义了RTP,并且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输

(转)RTP协议全解(H264码流和PS流)

写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希望大家支持. 原创不易,转载请附上链接,谢谢http://blog.csdn.net/chen495810242/article/details/39207305 1.RTP Header解析   图1 1)        V:RTP协议的版本号,占2位,当前协议版本号为2 2)        P: