audio streaming的项目总结

原创 2004年06月30日 21:45:00
audio streaming的project告一段落,总结一下
关键技术:
    1。mp3编码器的改进
      1)将interleave细化到了huffman code部分
      2)将critical,scf,huffman分开处理,可以根据重要
         性不同加以不同保护
      3)将huffman部分分层处理,根据perceptual effect分成2部
         分
      4)对于critical 部分采取了bit reserver技术,使cirtical
         的error propagatiojn可能进一步降低
    2。mp3解码器的error concealment
      1)置0比重复效果好的多!
      2)利用上一个frame的scf恢复丢失的scf部分(简单的copy)
         效果出人意料的好
    3。网络适配
      1)重传,对于critical部分采取重传,reason是
         数据量很小,只有4%左右,但是至关重要。而且
         改进后的mp3决定了至少需要64个frame的delay,这段时间
         可以被充分利用重传
      2)Forward Error Correction:简单的xor,和duplication
         duplication用于网络状况很差的时候,并且在dupliation
         时候原frame再次被interleave,两个包的丢失最多只会
         造成1个frame的丢失
      3)enhance layer的huffmancode可以被discard

实现:
     1。环境: winxp,centrino adhoc无线网络
     2。将所有工作线程和socket 接受线程分开,减轻负担。
     3。改进后mp3需要60个frame同时解码,那段时间cpu占用
        很大,可能会影响socket(代码优化以后问题解决)。
        如果以后再遇到类似情况,可以把一个解码过程分成
        数段,放到不同时间去做。
     4。bcb的timer太不精确,不过本项目中影响不大,以后改
        用multimedia专用的那个。。。
     5。出错处理,包括缓冲区上下溢,解码失败,播放器要预料到
        这种情况。。。否则。。。
    
问题教训:
     1。adhoc的丢包不是和距离成正比,而是到了一点以后突然
        下降无数。。。导致数据无法采集
     2。同一个地方的丢包情况在不同时候极其不同,虽然程序
        可以应付这种突变,但是这种数据实在不适合试验。最终
        只好用error pattern file去模拟,sign
     3。模板不要乱用,采用模板的结果是:对于调用者没有感觉,
        但是实现者的编程工作量不会减少,还有增多。只有继承可
        以减少代码量。(除非要配合stl。。。)
     4。用extern的变量做接口很方便,而且有效。

spark-streaming学习笔记总结

基本介绍 Spark创建流式应用的本质,还是依赖了spark最核心的那些技术,只是在这些技术上又封装了一层流式接口。 Spark的streaming机制简单来说,就是将连续的时间序列切割成不同的离...
  • wang1127248268
  • wang1127248268
  • 2016年11月10日 17:03
  • 623

Audio基础知识

全文来自网络搜集。 3.1.1  声音处理   一般我们人耳能听到的声音频率为20-20kHz,对不同频段的感知和理解不一样,所以在音效处理方面有很多发挥的空间。   声音涉及到...
  • xiashaohua
  • xiashaohua
  • 2016年12月23日 18:17
  • 1238

kafka与streaming集成两种方式

hadoop,spark,kafka交流群:224209501标签(空格分隔) spark streaming作为kafka消费者两种模式,测试完整通过。...
  • u011308691
  • u011308691
  • 2016年05月18日 10:57
  • 2590

WiFi-Audio需要实现的功能简介

通过WIFI方式将播放器(手机、平板电脑、PC)音乐,高保真无线长距传输至音响系统具有蓝牙无线音响的全部功能,同时传输距离更远、具备穿墙能力、音质损耗更低、功耗更小...
  • wavemcu
  • wavemcu
  • 2015年01月14日 17:08
  • 2600

Android Framework学习笔记 -- Audio的播放流程

流程图这是基于Android5.1分析的,前几版本好像有些不同,6.0没改太多,不过大体思想是一致的播放就像个排水机,AuidoPolicyService是阀门,AudioFlinger是排水池,Pl...
  • axlecho
  • axlecho
  • 2017年11月12日 10:48
  • 205

lkmusic项目WebAudio版本支持音乐可视化 已更新至github 欢迎下载

亲们如果觉得好请fork我的githublkmusic 效果预览图(2016-4-26日已经改进) 版本1.0 beta 更新: 优化界面效果 修复播放完成后不会自动切换处于暂停状...
  • laike1355
  • laike1355
  • 2016年04月27日 10:08
  • 583

2014项目总结:一个比较失败的项目总结

最近将会对今年所做的一些项目进行总结,里面基本都包含了一个项目所有的过程。一来为自己今年的年终总结提供些材料,其次也是希望在总结过程中能给自己带来些更多的启发和经验教训,同时也非常期望各位大牛能给些建...
  • bsbsxll
  • bsbsxll
  • 2014年10月14日 22:06
  • 3581

2014项目总结:一个比较成功的项目总结

最近将会对今年所做的一些项目进行总结,里面基本都包含了一个项目所有的过程。一来为自己今年的年终总结提供些材料,其次也是希望在总结过程中能给自己带来些更多的启发和经验教训,同时也非常期望各位大牛能给些建...
  • bsbsxll
  • bsbsxll
  • 2014年10月13日 16:21
  • 4783

JAVA项目总结

以劳动合同为例: 1.  创建一张实体表:model /**  * 劳动合同表 * @category 实体类  * @date 2016-1-1  */ @Entity @Table...
  • spookyspirits
  • spookyspirits
  • 2017年02月13日 15:43
  • 109

我所做过的项目总结

为者常成,行者常至。不积跬步无以至千里,不积小流无以成江海。勿以善小而不为,勿以恶小而为之。有些事情,只有你亲身去做了,去体验了你才能得到最真实的感觉,否则全是人云亦云。有时候一件小事,你天天做,时时...
  • xxssyyyyssxx
  • xxssyyyyssxx
  • 2016年01月13日 15:16
  • 960
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:audio streaming的项目总结
举报原因:
原因补充:

(最多只允许输入30个字)