关于 speex 和 ogg 的一个没事找事儿的回答

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

真是不知干什么好了,累还睡不着,再没事儿找个事儿干吧!

是不是有点所问非所答呢?。。。

感觉问者是不晓得文件格式是干啥用的,所以就没事儿找事儿地作了一些自已知道的,并不一定对口的回答。

不过,这个答得也满不错的,正好把我之前研究语音、图像文件格式的一些心得整理出来了。

如果没有这个问题,可能还没这个机会去思考,可能也不会总结出这些东西来。

帮助别人的过程,就是自已思考的过程,也是自我提高的一个过程,正所谓,送人玫瑰,手有余香!

问题出自:http://blog.csdn.net/xyz_lmn/article/details/8013490#reply

2楼  Y080Y 2012-12-18 23:01发表 [回复]
我看了一下网上有一个人,说要用ogg编码才能播放.我也下载了他写的源码.可以录制和播放.不知道ogg和spx关系

Re:  xyz_lmn 2012-12-19 09:07发表 [回复]
回复Y080Y:Speex类似于压缩解压,压缩解压需要源文件,ogg文件就是源文件。像mp3文件也可当作源文件。

Re:  Y080Y 2012-12-19 20:55发表 [回复]
回复xyz_lmn:那可不可以这样理解,speex其实就相当于rar压缩器,我们包装成.spx和ogg等都没关系.那个例子最后的格式是spx的.但是他明明是用ogg包装.这点我想不明白,呵呵.是不是他本来就是ogg.只是他自己把后缀名门成spx而已.例子地址:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=152752&page=1#pid1242431

Re:  sleks 刚刚发表 [回复]
回复Y080Y:一种数据,像是音频,图像都有相应的模数转换过程,得到原始数据后,可以不考虑压缩,这些数据在内存中,我们是用一种存储方式的,在内存中能直接知道它的大小和采样标准;假设你要把它直接发给别人,比如通过SOCKET,或者被别人在网上监听拦截后,就很不容易猜出这是一种什么数据,不光需要使用的人不知道,监听破解的人也不容易知道;那么我们为了需要的人能知道,就得把内存中的存储信息,如字节数,还有你采样时所使用的方式,比如几声道,采样频率等一起告诉对方,那么就有了文件存储格式。其实文件存储格式是一种典型的例子,虽然并不一定要存储成文件,但至少它表明了,这一堆数据是什么,怎样组织的,这就是文件头的概念;
由此,ogg作为一种文件格式,无非就是要把speex压缩过的数据的一些信息也带上,这些信息是在你脑子里的,是在你采样过程中的,是在内存中的,并不能通过这些语音数据本身能体现出来的。就如一个字符串数组不以\0结尾,作为参数直接传给一个函数的话,这个函数就很难处理了,因为字符串数组本身有大小,但传给函数的只是一个指定起始地址和指针类型,并不能传递元素个数,所以你看到的c的函数调用,传入数组时,都会带一个数组大小,就是这个原因,是因为数组有自描述性,但指针并不能充份描述数组的个数。
至于ogg编码之后,就和文后的参考中的开源站上所说,flv编码之后一样了,要流媒体传输,还得编码......
ogg编码,就相当于flv编码,就是在这段speex处理后的语音数据前加上对这段数据的描述信息,至于写不写入文件中存储都不重要了,直接在网上传输也是没问题的,至少文件头部有说明这是一个什么样的文件,然后就按这个文件的组织格式来提取相应参数,根据参数,就能把压进去的speex数据提出来了;钱存到银行了,有流程,虽然存的都是钱,或是美元或是人民币,或多或少,但都得按银行的流程来办;取钱正好相反的流程。
Re:  xyz_lmn 2012-12-19 21:14发表 [回复]
回复Y080Y:应该是,我没仔细看那个例子,你可以研究下。

关于 speex 和 ogg 的一个没事找事儿的回答相关推荐

  1. 知乎上(知乎上有一个完全错误的回答,下最好的正确评论)非常好的关于mAP,AP等目标检测参数的解释(原来之前我理解错了!!)

    作者:知乎用户 链接:https://www.zhihu.com/question/53405779/answer/419532990 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  2. 面试官问的最后一个问题应该怎么回答?

    当面试官提问:你有什么要问我的吗? 之前面试总是把大量精力放在准备自我介绍和项目上面,却忽略了面试中一个最关键的环节,那就是面试最后一定会被问到的问题:"你有什么要问我的吗?"这其 ...

  3. 为什么高频信号的指向性更好? Quora上一个很直观的回答

    来自Why are high frequency sounds more directional than lower frequencies?  Jørgen Dal的回答 A high frequ ...

  4. 编解码器的学习笔记(十):Ogg系列

    Ogg是一个自由和开放的标准容器格式,由Xiph.Org 维修基金. Ogg格式不受软件专利的限制,它的目的是有效地处理高品质的流媒体和数字媒体. Ogg意指一种文件格式,能够纳入各式各样自由和开放源 ...

  5. (转)speex详细介绍--概念、移植、编译、命令行等

    Speex之一-介紹Speex 介紹Speex Speex編解碼器(www.speex.org)存在是因為有這麼一個需求,即是開源同時專利版權也是免費的.這應該也是各開源軟體的必要條件.本質上講,Sp ...

  6. oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题

    Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...

  7. 易写易库(EXEK)玩“花”儿之三:命令有图标支持库,附图

    释题:如果您认为这个"花"儿,属于之前第一个"花"儿的变种,易语言写支持库也能玩出"花"儿来(易写易库(EXEK)进展5),我也不反对. 在 ...

  8. c++新增加的一个概念称之为_新概念四册中的这个句子是对的吗?

    今天有老师微信提问我下面这句话: a. I would have been very pleased to be regarded as something so interesting as a p ...

  9. 今年一个偶然的创业,就改变了我的人生

    今年一个偶然的创业,就改变了我的人生. 今年一个偶然的机会接下了一家别人转让的 菜 鸟 驿 站,记得刚投资的时候,那是最忙碌的时候,货物积压成堆,而且新到的货物把之前很多没取的货物压的死死的. 我还记 ...

最新文章

  1. 滴滴算法大赛算法解决过程 - 机器学习
  2. 为什么我从 npm 到 yarn 再到 npm?
  3. 温州大学《深度学习》课程课件(十一、序列模型)
  4. mysql 编译cpu数量_适合MySQL的Xeon 55XX系列CPU编译参数
  5. request.getcontextPath() 理解
  6. introduction of servlet filter
  7. bvp解算器是什么_几种飞控的姿态解算算法
  8. opencv绘制矩形框
  9. 计算机编号、硬盘序列号和Mac地址查询方法
  10. [笔记] 当当音乐人:免费将Midi转化为WAV
  11. TQ2440内核linux2.6.28移植
  12. C++内部链接与外部链接
  13. HackerRank python练习——Quartiles
  14. Linux 打开 Xbrowser 可视化操作界面
  15. jQuery中ajax用form表单方式提交数据
  16. 在Word2010中交叉引用插入参考文献
  17. 为了网络安全被束缚的无人机背后的故事!
  18. 如何对一个杯子进行检测
  19. 最全面性能测试方案模板
  20. 正则化-最通俗的解释

热门文章

  1. win10操作系统无法安装i8
  2. Python SQL 教程之 01 pandasql 教程
  3. 最好的MATLAB入门教程(没有之一!)
  4. mysql存储过程创建表
  5. AD2020如何安装库
  6. 让生活更有趣,不可少的手帐笔记神器!
  7. android自定义简易英文文章阅读器,支持点击查单词
  8. Androider学C/C++—(1)环境搭建和基本操作,c语言指针练习,输出占位符
  9. 《自己动手写操作系统》心得
  10. python爬虫逆向|某手网页滑块逆向分析