完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
书中 第八章 传输控制优化,主要介绍了拥塞控制,弱网降级,抖动缓存与平滑发送,错误恢复等几个部分的内容。 其中抖动缓存与平滑发送是非常重要的一部分,在实践中是保证音视频实时不断流的传输是必须应用的,所以结合个人在UAC的开发中实践,结合书中介绍,分享下该部分内容。 个人从UAC实时音频传输开发来看,抖动缓存与均衡发送是最重要的部分,比必须实现的。 因为实时音视频传输,实际是一个生产者-消费者模型。生产者和消费者的长时间整体看速率是一样的,但是局部上看可能有波动。在某个小的时间点生产和消费者的速率可能不一样,所以必须要有一个缓存”水池”来缓解这种局部的不均衡。 这个水池设计的越大则越能缓解这种抖动的剧烈程度。 而在实践应用中知道,除了设计以上缓存外,还需要注意抖动, 即水池中一定要保证有一定的水量才开始消费,否则产生一个就消费一个,但是产生和消费的时间可能有差异导致断流。 如下,可以等水池中有了生产了两项之后再消费,这样,后面每次消费时都能保证有数据不会断流(只要生产消费的抖动不超过2项的时间),如果抖动更大可以延迟更长时间再消费,同时也要增大缓存大小。 以下是个人在UAC项目中使用状态机对这个延迟的处理 s_out_fifo_pool_state记录当前状态,0表示还未满足达到指定数量5的数据不开始取数, 达到5设置为1表示此时开始取数,取数后如果取不到数了则恢复0状态。
|
|
相关推荐
|
|
【书籍评测活动NO.41】大模型时代的基础架构:大模型算力中心建设指南
335 浏览 0 评论
300 浏览 0 评论
【书籍评测活动NO.40】数字IC设计入门,多角度透视芯片设计
1071 浏览 12 评论
688 浏览 1 评论
【Raspberry Pi 5开发板试用】树莓派5---家庭多媒体和控制中心
487 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-18 20:49 , Processed in 0.414830 second(s), Total 37, Slave 28 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号