c# 远程监控(3) RTP协议 RTP.NET.DLL
我们在上一期已经可以获取视频或者摄像头数据,并可以获取帧数据,那么我们这一期就研究下RTP,并发送数据到目标服务器。
- RTP协议简介 这位朋友讲的很好:http://blog.csdn.net/bripengandre/article/details/2238818
- RTP.NET.dll
- 核心代码讲解
实时传输协议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
c# 远程监控(3) RTP协议 RTP.NET.DLL的更多相关文章
- c# 远程监控(1) 大纲
此篇文章主要讲了如何使用C# Winform程序模拟一个远程监控系统,并使用RTP实时传输协议传输数据. 应用场景:远程监控.局域网视频会议.客户端流式缓冲播放 这方面的资料还是有一些,但是都需要整合 ...
- c# 远程监控(4) 接收端 RTP包重组 分屏显示
我们在上一期使用RTP协议,并进行了配置,打包了视频数据,这一期我们就对发送的数据进行重组,并显示在接受端上.最后对其进行扩展,支持多客户端视频发送,并在接收端分屏显示.完成远程监控的模拟. 先来个效 ...
- Linux下几种RTP协议实现的比较和JRTPLIB编程讲解
流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议. IP电话等应用场合的技术基础.RTP是进行实时流媒体传输的标准协议和关 ...
- 【转】实现RTP协议的H.264视频传输系统
1. 引言 随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动 ...
- RTP协议学习大总结从原理到代码
from:http://wenku.baidu.com/view/aaad3d136edb6f1aff001fa5.html 一.流媒体概念 流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和 ...
- 基于RTP协议的H.264传输
1. 引言 随 着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性.但人们又面临着另外一种不可避免 的尴尬,就是在网络上看 ...
- 视频流传输协议RTP/RTCP/RTSP/HTTP的区别 (转)
用一句简单的话总结:RTSP发起/终结流媒体.RTP传输流媒体数据 .RTCP对RTP进行控制,同步.之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中 ...
- 自己动手写RTP服务器——关于RTP协议
转自:http://blog.csdn.net/baby313/article/details/7353605 本文会带领着你一步步动手实现一个简单的RTP传输服务器,旨在了解RTP流媒体传输协议以及 ...
- Rtp 协议实现网络广播台网络收音机
RTP协议介绍:http://www.360doc.com/content/11/1009/15/496343_154624612.shtml 本文中使用了 StreamCoders 的 RTP.ne ...
随机推荐
- 6.1 CUDA: pinned memory固定存储
CPU和GPU内存交互 在CUDA编程中,内存拷贝是非常费时的一个动作. 从上图我们可以看出:1. CPU和GPU之间的总线bus是PCIe,是双向传输的. 2. CPU和GPU之间的数据拷贝使用DM ...
- leetcode—sum root to leaf number
题目如下: Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a ...
- HW7.8
import java.util.ArrayList; import java.util.Scanner; public class Solution { public static void mai ...
- POJ3254 - Corn Fields(状态压缩DP)
题目大意 给定一个N*M大小的土地,土地有肥沃和贫瘠之分(每个单位土地用0,1来表示贫瘠和肥沃),要求你在肥沃的单位土地上种玉米,如果在某个单位土地上种了玉米,那么与它相邻的四个单位土地是不允许种玉米 ...
- hdfs里的文件下载HDFS之fsimage、metadata、edits、fstime(二十七)
首先,要有这个观念,元数据信息(fsimage + editslog). fsimage是在磁盘 metadata是在内存 ********************fsimage把内存的,序列化到磁盘 ...
- 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境
准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...
- 问题-在TreeView使用时,发现选中的树节点会闪烁或消失
问题:在工程中选中一个树节点,鼠标焦点在树上,做某种操作时发现选中的点会消失?原因:如果只是BeginUpdate后,没有调用EndUpdate,树会全空.应该是BeginUpdate方法会刷新树,但 ...
- UI进阶 解析XML 解析JSON
1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSO ...
- C++学习笔记(六):复杂数据类型(string、容器和STL)
STL 即Standard Template Library(标准模板库),由于C++自带的数据类型过于简单,并不能满足我们的使用需要,而STL作为C++标准的内置库为我们编写好了多种高效的数据结构和 ...
- iOS 转让APP
今天需要将一个客户的app转让到它公司的个人账号上,记录下来流程,给有需要的人方便查看. 上面这个是咨询了苹果的客户之后收到的邮件说明,有需要的大家自己仔细看看. 好了,进入正题: 一:转出方操作 1 ...