专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

请问-怎么用UDP发送TS流并且用PCR值控制速率

发布时间:2011-06-27 19:29:54 文章来源:www.iduyao.cn 采编人员:星星草
请教-如何用UDP发送TS流并且用PCR值控制速率
最近在做一个视频服务器的项目,之前已经用ASI卡成功的推送TS流了。
现在导师要我用UDP的方式发TS流,并且要用PCR值来控制速率,并提示我说PCR值控制速率是难点。

目前我的现状是
1.知道如何用UDP发送和接收数据
2.知道PCR值这个东西

对于这个项目还是比较迷茫啊,期望高人指点

------解决方案--------------------
会用socket,就会用udp
所以第一个问题,需要先了解socket是个什么东西。

pcr是ts数据流中包含的时钟数据,专门用于时钟同步
第二个问题,具体关于pcr这个东西,可以参见mpeg2 ts数据封装的一些相关协议。

我泛泛讲点其他的东西,为什么要用pcr来控制发送速度:

通常硬件ASI卡传送ts数据,是依靠码率来控制速度。假设ts是2Mb的码率,那么ASI卡的发送速度就固定控制在2Mb。如果ts的码率有波动变化,就在ts中插入空白数据包,强行将ts的码率提高到一个固定的码率值。这是硬件ASI卡传送ts通常使用的方式。

在以太网上传送ts数据,考虑到以太网传输速度的不稳定性,udp的丢包性质,和socket的发送接收缓冲区,插入空包将ts码率提高到一个固定码率的做法已经没有了意义,因为上面那些因素,以太网的发送速度不能像ASI卡那样固定。插入空白数据包,把码率提高到一个固定值的做法也比较多此一举。

所以,根据ts流自己携带的pcr时钟信息,来进行同步控制发送速度,比根据码率来控制发送速度,更准确,也更有适应性。在ts码率有波动,并且波动比较大的情况下,根据码率来控制发送速度无疑是不准确的。


------解决方案--------------------
我有这个源码,并且使用IPQAM测过,效果不错,交流请加QQ5043043
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: