rtpnew文件(rt1文件)
RTP/RTCP的2.工作流程
RTP协议从上层接收流媒体信息码流(如H.263),装配成RTP数据包发送给下层,下层协议提供RTP和RTCP的分流。如在UDP中,RTP使用一个偶数号端口,则相应的RTCP使用其后的奇数号端口。RTP数据包没有长度限制,它的最大包长只受下层协议的限制。 一个RTP会话(Session)包括传给某个指定目的地对(Destination Pair)的所有通信量,发送方可能包括多个。而从同一个同步源发出的RTP分组序列称为流(Stream),一个RTP会话可能包含多个RTP流。一个RTP分组在服务器端发送出去的时候总是要指定属于哪个会话和流,在接收时也需要进行两级分用,即会话分用和流分用。只有当RTP使用同步源标识(SSRC)和分组类型(PTYPE)把同一个流中的分组组合起来,才能够使用序列号(Sequence Number)和时间戳(Timestamp)对分组进行排序和正确回放。
由于实时数据的独有性,不同实时客户可以共用一个RTP实时服务线程和一个RTCP实时服务线程,这样可以大大减小服务器的负担,而每个文件客户由于请求的文件不同,相应地对速度和开始时间的要求都可能不同,所以需要有自己独有的RTP文件服务线程和RTCP文件服务线程。
RTP服务线程负责把实时数据流发送给客户,RTCP服务线程根据RTP线程的统计数据,产生发送方报告给客户。RTP线程和RTCP线程之间通过一段共享内存交互统计数据,对共享内存必须设置互斥体进行保护,防止出现错误读写。在这种方式下,服务器可以根据每个用户的不同请求和具体情况方便地提供不同的服务。 时间戳字段是RTP首部中说明数据包时间的同步信息,是数据能以正确的时间顺序恢复的关键。时间戳的值给出了分组中数据的第一个字节的采样时间(Sampling Instant),要求发送方时间戳的时钟是连续、单调增长的,即使在没有数据输入或发送数据时也是如此。在静默时,发送方不必发送数据,保持时间戳的增长,在接收端,由于接收到的数据分组的序号没有丢失,就知道没有发生数据丢失,而且只要比较前后分组的时间戳的差异,就可以确定输出的时间间隔。
RTP规定一次会话的初始时间戳必须随机选择,但协议没有规定时间戳的单位,也没有规定该值的精确解释,而是由负载类型来确定时钟的颗粒,这样各种应用类型可以根据需要选择合适的输出计时精度。
在RTP传输音频数据时,一般选定逻辑时间戳速率与采样速率相同,但是在传输视频数据时,必须使时间戳速率大于每帧的一个滴答。如果数据是在同一时刻采样的,协议标准还允许多个分组具有相同的时间戳值。
RTP协议没有规定RTP分组的长度和发送数据的速度,因而需要根据具体情况调整服务器端发送媒体数据的速度。对来自设备的实时数据可以采取等时间间隔访问设备缓冲区,在有新数据输入时发送数据的方式,时间戳的设置相对容易。对已经录制好的本地硬盘上的媒体文件,以H.263格式的文件为例,由于文件本身不包含帧率信息,所以需要知道录制时的帧率或者设置一个初始值,在发送数据的时候找出发送数据中的帧数目,根据帧率和预置值来计算时延,以适当的速度发送数据并设置时间戳信息。
RTCP的一个关键作用就是能让接收方同步多个RTP流,例如:当音频与视频一起传输的时候,由于编码的不同,RTP使用两个流分别进行传输,这样两个流的时间戳以不同的速率运行,接收方必须同步两个流,以保证声音与影像的一致。为能进行流同步,RTCP要求发送方给每个传送一个唯一的标识数据源的规范名(Canonical Name),尽管由一个数据源发出的不同的流具有不同的同步源标识(SSRC),但具有相同的规范名,这样接收方就知道哪些流是有关联的。而发送方报告报文所包含的信息可被接收方用于协调两个流中的时间戳值。发送方报告中含有一个以网络时间协议NTP(Network Time Protocol)格式表示的绝对时间值,接着RTCP报告中给出一个RTP时间戳值,产生该值的时钟就是产生RTP分组中的TimeStamp字段的那个时钟。由于发送方发出的所有流和发送方报告都使用同一个绝对时钟,接收方就可以比较来自同一数据源的两个流的绝对时间,从而确定如何将一个流中的时间戳值映射为另一个流中的时间戳值。 服务器软件模型主要有两种,即并发服务器和循环服务器。循环服务器(Iterative Server)是指在一个时刻只处理一个请求的服务器。并发服务器(Concurrent Server)是指在一个时刻可以处理多个请求的服务器。事实上,多数服务器没有用于同时处理多个请求的冗余设备,而是提供一种表面上的并发性,方法是依靠执行多个线程,每个线程处理一个请求,从客户的角度看,服务器就像在并发地与多个客户通信。
由于流媒体服务时间的不定性和数据交互实时性的请求,流媒体服务器一般采用并发服务器算法。本文构建了一个基本的流媒体服务器,能够同时响应多个用户的请求,把本地硬盘流媒体文件或实时数据流(H.263格式)发送给用户。在应用中,把客户分为请求实时数据的实时客户和请求文件数据的文件客户两类。主要算法为:
(1)打开设备,分配资源。当设备准备好时,创建一个RTP实时服务线程和一个RTCP实时服务线程。
(2)创建一个UDP套接字并将其绑定到所提供服务的地址之上。
(3)反复调用接收模块,接收来自客户的RTCP报告,根据其类型做出响应。对新实时客户的请求,把客户地址添加到实时服务的客户列表中,对新文件客户的请求,则创建一个新RTP文件服务线程和一个新RTCP文件服务线程;对已经在服务中的客户则根据RTCP报告的内容调整服务。
RTP实时服务线程1:初始化客户列表和RTP首部。
RTP实时服务线程2:从设备读取媒体数据,把数据发送给实时服务列表中的客户。
RTP实时服务线程3:更新RTP首部和统计数据。
RTP实时服务线程4:计算延时,重复第二步。
RTCP实时服务线程1:初始化RTCP首部。
RTCP实时服务线程2:发送发送方报告给实时服务列表中的客户。
RTCP实时服务线程3:计算延时,重复第二步。
RTP文件服务线程1:初始化RTP首部。
RTP文件服务线程2.:从文件读取媒体数据,把数据发送给客户。
RTP文件服务线程3:更新已发送数据的统计信息,为生成发送方报告做准备。
RTP文件服务线程4:计算延时,调整发送速度,正常情况下开始重复第二步。
RTCP文件服务线程1:初始化RTCP首部,发送一个源描述(SDES)报文给客户。
RTCP文件服务线程2:根据已发送数据的统计信息生成发送方报告,发送给客户。
RTCP文件服务线程3:计算延时,正常情况下开始重复第一步。
RTP文件怎么打开呀?
RTP(Realtime Transport Protocol)实时传输协议:是针对Internet上多媒体数据流的一个传输协议, 由IETF(Internet工程任务组)作为RFC1889发布;RTCP(Realtime Transport Control Protocol)实时传输控制协议:负责管理传输质量在当前应用进程之间交换控制信息。
RTP/RTCP协议详解
RTP payload:RTP数据包的有效载荷。
RTP packet:RTP数据包,包括RTP数据包头部与payload。
Transport address:IP地址+端口号。
RTP session:区分RTP session的标志是是否有SSRC标识符的独立空间。
SSRC:RTP Stream的数据源。SSRC的标识符必须在RTP Session中唯一。
其中,前12个字节为fixed header。
?2 bits。RTP的版本号,当前版本为2.
1 bit。如果设置为1,payload后面可能会有1个或者多个padding字节,它们不是payload的一部分。方便一些针对固定长度算法的封装。
1 bit。如果设置为1,则在RTP固定报头后跟有一个扩展报头。
4 bits。记录了CSRC包含的字节数。
1 bit。不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。
有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等,在流媒体中大部分是用来区分音频流和视频流的,音频流的PT值与视频的PT值是不同的,这样便于客户端进行解析。
占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。这个字段当下层的承载协议用UDP的时候,网络状况不好的时候可以用来检查丢包。同时出现网络抖动的情况可以用来对数据进行重新排序。
32 bits。用于记录RTP数据包第一个字节的采样时间。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。
在一次会话开始时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值也要随时间而不断地增加(时间在流逝嘛)。时钟频率依赖于负载数据格式,并在描述文件(profile)中进行描述。 同一个帧的不同分片的时间戳是相同的。这样就省去了起始标志和结束标志。一定要记住,不同帧的时间戳肯定是不一样的 。
同步信源(SSRC)标识符,占32位,用于标识同步信源。 标识RTP会话中的参与者 ,同步源就是指RTP包 流的来源。 该标识符是随机选择的,RFC1889推荐了MD5随机算法。它是全局唯一的,不同的SSRC表示不同的共享源。参加同一视频会议的两个同步信源不能有相同的SSRC。
特约信源(CSRC)标识符,每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。
用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源。由混合器将这些有贡献的SSRC标识符插入表中。SSRC标识符都被列出来,以便接收端能正确指出交谈双方的身份。一般用在混音或混屏上。例如,在1路音流中混了好几个人的声音,那么这每一个人的声音就是一个CSRC。
有5种RTCP包类型:
下了无冬之夜2 但是NWN2UPDATE里面的8个全是压缩文件 而且全是rtp。。怎么办?解出来电脑也不能识别。。
不要把rtp文件解压出来。直接把8个zip放到无冬2安装目录下,运行nwupdate.exe,它会自动按顺序寻找升级文件。有8个,你也需要运行8次。也就是每次升级完提示绿色的"Done"后把升级程序关掉再打开。
RTP文件的视频,怎么转换成其它的视频格式
RTP格式吗?没听过,
试试这个:WisMencoder V1931 Final_绿色官方简体中文版
WisMencoder 是基于Mencoder和Avisynth为核心的免费的视频压缩、转换软件,能够把您的电脑上的所有视频格式,包括avi,mpg,mpeg,rm,rmvb,wmv,asf,mp4,mov,dat,vob,flv等格式以最快的速度和最高的质量转换为AVI格式
下载:
我的系统文件丢失了rtp.dll;怎么找回?
是他开机提示你的么?修复系统就能修复此问题,把系统盘放到光驱里面,然后按DEL进BIOS,再进BOOT里把CD启动调成第1启动,重起机器,下面的顺序是按任意键重装系统,按回车,按F8,按R就行了