jrtplibjrtplib中怎么实现rtcp传输,怎么提取rtcp信息

jrtplib  时间:2021-06-26  阅读:()

如何用RTP协议做产品开发,RTP协议收费吗

RTP协议是不收费的因为这些都是公开的协议,并且是非营利组织。

RTP: A Transport Protocol for Real-Time Applications rfc文档: rfc3550 /rfc/rfc3550.txt.pdf 这个现在主要用在一些多人视频会议之类的吧。

请问怎么制作符合RTP协议的数据?

"基于MPEG-4多媒体直播系统的研究与实现"提到“UCL RTP库:UCL RTP库是University College London提供的一套RTP/RTCP协议的完整实现。

它支持RFC1889,并集成MD5 DES等加密算法。

UCL RTP支持的操作系统有Solaris, Linux, Irix, FreeBSD,Windows 95/98/NT/2K。

本系统使用UCL RTP库作为网络传输工具。

“我搜了一下,找到jrtplib-3.5.2,http://research.edm.luc.ac.be/jori/jrtplib/jrtplib.html

您好。不知道你对RTSP协议熟不熟,但我还是想问一下:rtsp与rtcp,rtp有什么关系?

这个问题一定发错分类了。

这个怎么会放到法律分类呢。

呵呵   RTCP控制协议需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用。

RTP本身并不能为按序传输数据包提供可靠的保证,也不提供流量控制和拥塞控制,这些都由RTCP来负责完成。

通常RTCP会采用与RTP相同的分发机制,向会话中的所有成员周期性地发送控制信息,应用程序通过接收这些数据,从中获取会话参与者的相关资料,以及网络状况、分组丢失概率等反馈信息,从而能够对服务质量进行控制或者对网络状况进行诊断。

  RTCP协议的功能是通过不同的RTCP数据报来实现的,主要有如下几种类型:   SR:发送端报告,所谓发送端是指发出RTP数据报的应用程序或者终端,发送端同时也可以是接收端。

  RR:接收端报告,所谓接收端是指仅接收但不发送RTP数据报的应用程序或者终端。

  SDES:源描述,主要功能是作为会话成员有关标识信息的载体,如用户名、邮件地址、电话号码等,此外还具有向会话成员传达会话控制信息的功能。

  BYE:通知离开,主要功能是指示某一个或者几个源不再有效,即通知会话中的其他成员自己将退出会话。

  APP:由应用程序自己定义,解决了RTCP的扩展性问题,并且为协议的实现者提供了很大的灵活性。

  RTCP数据报携带有服务质量监控的必要信息,能够对服务质量进行动态的调整,并能够对网络拥塞进行有效的控制。

由于RTCP数据报采用的是多播方式,因此会话中的所有成员都可以通过RTCP数据报返回的控制信息,来了解其他参与者的当前情况。

  在一个典型的应用场合下,发送媒体流的应用程序将周期性地产生发送端报告SR,该RTCP数据报含有不同媒体流间的同步信息,以及已经发送的数据报和字节的计数,接收端根据这些信息可以估计出实际的数据传输速率。

另一方面,接收端会向所有已知的发送端发送接收端报告RR,该RTCP数据报含有已接收数据报的最大序列号、丢失的数据报数目、延时抖动和时间戳等重要信息,发送端应用根据这些信息可以估计出往返时延,并且可以根据数据报丢失概率和时延抖动情况动态调整发送速率,以改善网络拥塞状况,或者根据网络状况平滑地调整应用程序的服务质量。

  JRTPLIB 是一个高度封装后的RTP库,程序员在使用它时很多时候并不用关心RTCP数据报是如何被发送和接收的,因为这些都可以由 JRTPLIB自己来完成。

只要PollData()或者SendPacket()方法被成功调用,JRTPLIB就能够自动对到达的RTCP数据报进行处理,并且还会在需要的时候发送RTCP数据报,从而能够确保整个RTP会话过程的正确性。

我该选择哪个嵌入式系统呢?关于jrtplib的移植

那就用uclinux吧,挺好用的,稳定性在很多行业得到应用。

很多人说uclinux不好,flat内存容易出错等等,其实我认为uclinux适合低成本,并且和linux一样稳定。

如果应用软件做的很烂的话,在linux下会一样出错甚至崩溃,好处是系统本身不受影响,uclinux应用软件出错的话,可能会整个系统崩溃,需要看门狗或者人工重启。

这样看起来linux比uclinux稳定一点点,但是对于嵌入式系统,应用软件崩溃了整个产品的功能就没用了,造成的影响都是等同的。

自己的应用软件做好才是正道。

jrtplib中怎么实现rtcp传输,怎么提取rtcp信息

对于rtp包都可以通过GetPayLoadData()和GetPayLoadLength()函数来获取数据和长度,不知rtcp是不是也有类似函数可以实现呢。

哪位大哥知道的麻烦指点一下啦。

------解决方案-------------------------------------------------------- [千里]jrtplib对RTCP包发送时间间隔的计算,是按照RFC3550 6.3.1上面的算法实现的,可以看RTCPScheduler的代码: RTCPScheduler::CalculateDeterministicInterval() RTCPScheduler::CalculateTransmissionInterval() [千里]RTCP包有类似函数GetPacketData()和GetPacketLength(). 不过想获取RR包的信息,不需要用这个自己解码,RTCPRRPacket已经解好并提供接口给你: RTCPRRPacket::GetSenderSSRC() RTCPRRPacket::GetReceptionReportCount() RTCPRRPacket::GetSSRC()

DogYun香港BGP月付14.4元主机简单测试

前些天赵容分享过DogYun(狗云)香港BGP线路AMD 5950X经典低价云服务器的信息(点击查看),刚好账户还有点余额够开个最低配,所以手贱尝试下,这些贴上简单测试信息,方便大家参考。官方网站:www.dogyun.com主机配置我搞的是最低款优惠后14.4元/月的,配置单核,512MB内存,10GB硬盘,300GB/50Mbps月流量。基本信息DogYun的VPS主机管理集成在会员中心,包括...

Hostiger 16G大内存特价VPS:伊斯坦布尔机房,1核50G SSD硬盘200Mbps带宽不限流量$59/年

国外主机测评昨天接到Hostigger(现Hostiger)商家邮件推送,称其又推出了一款特价大内存VPS,机房位于土耳其的亚欧交界城市伊斯坦布尔,核50G SSD硬盘200Mbps带宽不限月流量只要$59/年。 最近一次分享的促销信息还是5月底,当时商家推出的是同机房同配置的大内存VPS,价格是$59.99/年,不过内存只有10G,虽然同样是大内存,但想必这次商家给出16G,价格却是$59/年,...

BuyVM老牌商家新增迈阿密机房 不限流量 月付2美元

我们很多老用户对于BuyVM商家还是相当熟悉的,也有翻看BuyVM相关的文章可以追溯到2014年的时候有介绍过,不过那时候介绍这个商家并不是很多,主要是因为这个商家很是刁钻。比如我们注册账户的信息是否完整,以及我们使用是否规范,甚至有其他各种问题导致我们是不能购买他们家机器的。以前你嚣张是很多人没有办法购买到其他商家的机器,那时候其他商家的机器不多。而如今,我们可选的商家比较多,你再也嚣张不起来。...

jrtplib为你推荐
离线包高德地图离线包使用后会省流量吗一起作业网站一起作业官网是什么?java程序员招聘为什么Java程序员工资都很高cursorlocationsession("rs").cursorlocation=3是什么意思?医院排队系统医院排队叫号系统有哪些功能?怎么查微信注册时间怎么知道微信上次登录时间泛微协同办公系统泛微OA系统怎么创建新人员泛微协同办公系统谁能告诉我泛微OA,协同性是体现在哪几个方面的?泛微有哪些优势??backupexec如何在Backup Exec 2012中添加要备份的Windows服务器validdate怎样解决oracle报错is not a valid date and time
免费国外空间 香港vps linuxapache虚拟主机 泛域名绑定 justhost kvmla cloudstack mysql主机 本网站在美国维护 台湾谷歌地址 howfile 怎样建立邮箱 赞助 东莞服务器 吉林铁通 双线机房 免费邮件服务器 韩国代理ip 中国linux lamp什么意思 更多