完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
书中 第八章 传输控制优化,主要介绍了拥塞控制,弱网降级,抖动缓存与平滑发送,错误恢复等几个部分的内容。 其中抖动缓存与平滑发送是非常重要的一部分,在实践中是保证音视频实时不断流的传输是必须应用的,所以结合个人在UAC的开发中实践,结合书中介绍,分享下该部分内容。 个人从UAC实时音频传输开发来看,抖动缓存与均衡发送是最重要的部分,比必须实现的。 因为实时音视频传输,实际是一个生产者-消费者模型。生产者和消费者的长时间整体看速率是一样的,但是局部上看可能有波动。在某个小的时间点生产和消费者的速率可能不一样,所以必须要有一个缓存”水池”来缓解这种局部的不均衡。 这个水池设计的越大则越能缓解这种抖动的剧烈程度。 而在实践应用中知道,除了设计以上缓存外,还需要注意抖动, 即水池中一定要保证有一定的水量才开始消费,否则产生一个就消费一个,但是产生和消费的时间可能有差异导致断流。 如下,可以等水池中有了生产了两项之后再消费,这样,后面每次消费时都能保证有数据不会断流(只要生产消费的抖动不超过2项的时间),如果抖动更大可以延迟更长时间再消费,同时也要增大缓存大小。 以下是个人在UAC项目中使用状态机对这个延迟的处理 s_out_fifo_pool_state记录当前状态,0表示还未满足达到指定数量5的数据不开始取数, 达到5设置为1表示此时开始取数,取数后如果取不到数了则恢复0状态。
|
|
相关推荐
|
|
【「从算法到电路—数字芯片算法的电路实现」阅读体验】+一本介绍基础硬件算法模块实现的好书
518 浏览 0 评论
【社区工程师专题系列第九期】一个狂热的开源爱好者和传播者——乔楚
717 浏览 0 评论
【书籍评测活动NO.51】具身智能机器人系统 | 了解AI的下一个浪潮!
1115 浏览 12 评论
【书籍评测活动NO.50】亲历芯片产线,轻松图解芯片制造,揭秘芯片工厂的秘密
675 浏览 18 评论
《算力芯片 高性能 CPUGPUNPU 微架构分析》第二篇阅读心得:芯片拓扑学:并行扩展与CPU设计的巨头对决
731 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 18:38 , Processed in 0.461173 second(s), Total 38, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号