用jrtplib对媒体数据进行传输

来源:互联网 发布:支付宝绑定淘宝 编辑:程序博客网 时间:2024/06/05 11:12

         目前在研究jrtplib,主要是用来传输媒体数据,但是在传输过程中会出现偶尔的丢包情况,丢包率不是很大。

         在同一台机子上进行传输和接受时,丢包的情况很少,但是在局域网上的两台机子上传输时,对媒体文件大于100MB以上的文件老出现少量的丢包情况,有些时候竟然只是丢0.1~0.2MB。我还故意把传输的速率调低了,但是还是避免不了丢包情况。本来是想到了用rtcp来进行传输控制信息的,但是我用的是现成的jrtplib库,有文档说该库是对rtcp进行自动的收发。因此我就对OnRTCPCompoundPacket函数进行了重载,以便实现rtcp包的接收,但是还是不能看到接收到的rtcp包。

       

        数据丢包情况,我想到了两种解决方法,:

        1、我是想用rtcp控制信息来进行传输速率和丢包情况的了解和控制,用来实现数据速率随网络拥塞情况自行进行速率的更改,再者是检测出丢失的数据包并对丢失的数据包进行重发。

        因为是直接对媒体文件进行发送,只要丢了一个包都会阻止媒体的播放,也就是播放会一直停留在丢包的那个位置或者跳动到播放开头。用rtcp控制进行重发时,也会出现数据的插入位置的处理问题

        2、实现编解码,对媒体文件进行编解码,把它转换成H264格式,在进行传输,这样的话可以忽略少量的丢包情况,也不会影响媒体的播放。

        但是我对编解码还不是很了解,所以不知道怎么进行编解码算法的设计

 

     我自己想到的两种方法,我实现起来还是有瓶颈,所以还是想请教请教下各位

 

      这只是我个人思考情况,还不知道了解的是否正确

      做为一名初学者,还请各位高手大侠指点迷津。

      小女子在此谢过了

原创粉丝点击