会议电视项目积累笔记2(音频处理软件流程及分析).

        在会议电视局端项目MCU中,音频处理软件单板称为EAPU或APU。我一直就是维护这部分软件的。         整个软件流程很成熟,因为是从以前某些成熟单板上面借鉴过来的;但同时也很经典,就像MCBSP缓冲的PING/PONG四缓冲一样,为何要搞四缓冲,因为同时有两个芯片操作同一片内存,而每块芯片都同时做了ping/pong操作,这样看起来简单的软件处理流程其中却蕴含着深厚的技术功底。看到这么精妙的设计当时我就有点自卑了。         EAPU单板是为ZXMVC8900项目做得语音处理功能的。消息流程: 在主控和DSP之间采用共享内存的形式传递消息,在DSP上开辟一定大小的内存空间,主控依靠主控的读写指针将下发的消息写入内存,同时将上报的消息读出内存;而DSP则依靠主控的读写指针来检测是否有消息下发,如果足够容纳上报的消息则通过DSP写指针写入共享内存,读取主控下发的消息。         媒体处理流程:媒体码流走专线E1和IP后经RTP网络层拆包,拆包后的纯音频码流经EAPU的MCBSP0后做解码操作,解码后的线性码经过MCBSP1后送HW交换网,再通第五片DSP的MCBSP0后做混音处理,按照会议混音后通过第五片DSP的MCBSP0回送到HW交换网,再通过MCBSP1收数据后对每路语音做编码操作,最后通过MCBSP0送RTP打包后发送到IP和E1专线。         其实在离开公司前,公司要求或者自己主动写了很多文档。有对整个软件架构讲解的,有对软件难点介绍的,也有对系统设计限制阐述的,还有对打印调试系统的详细说明,以及对系统有用的其他信息。 在公司的文档库里一定有我花的最认真的软件流程图,一定系统软件框架图,也有我那对整个软件熟悉后补充更新的文档。         在解决故障(同事之间我们有个形象的叫法互称 “补丁员”)时,比较常出问题的地方: 唇音同步延迟处理;多包丢包抖动处理;解码前处理部分;编码后处理发送部分;新需求消息变动部分;E1_G728类型特殊处理部分;G728大容量处理优化;AAC能力不足特殊处理部分;G7221类型出现断续问题;奇怪声音问题等等。         感觉在整个工作过程就是解决故障的过程,而新功能在其中占用的工作量太少了。可能在解决故障过程中感觉还比较纯属,但如果跳出项目,你会马上发现自己的茫然。也许我就是由于这个原因才跳槽的吧,也许只有天知道。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值