关于 speex 和 ogg 的一个没事找事儿的回答
关于 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 的一个没事找事儿的回答相关推荐
- 知乎上(知乎上有一个完全错误的回答,下最好的正确评论)非常好的关于mAP,AP等目标检测参数的解释(原来之前我理解错了!!)
作者:知乎用户 链接:https://www.zhihu.com/question/53405779/answer/419532990 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...
- 面试官问的最后一个问题应该怎么回答?
当面试官提问:你有什么要问我的吗? 之前面试总是把大量精力放在准备自我介绍和项目上面,却忽略了面试中一个最关键的环节,那就是面试最后一定会被问到的问题:"你有什么要问我的吗?"这其 ...
- 为什么高频信号的指向性更好? Quora上一个很直观的回答
来自Why are high frequency sounds more directional than lower frequencies? Jørgen Dal的回答 A high frequ ...
- 编解码器的学习笔记(十):Ogg系列
Ogg是一个自由和开放的标准容器格式,由Xiph.Org 维修基金. Ogg格式不受软件专利的限制,它的目的是有效地处理高品质的流媒体和数字媒体. Ogg意指一种文件格式,能够纳入各式各样自由和开放源 ...
- (转)speex详细介绍--概念、移植、编译、命令行等
Speex之一-介紹Speex 介紹Speex Speex編解碼器(www.speex.org)存在是因為有這麼一個需求,即是開源同時專利版權也是免費的.這應該也是各開源軟體的必要條件.本質上講,Sp ...
- oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题
Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...
- 易写易库(EXEK)玩“花”儿之三:命令有图标支持库,附图
释题:如果您认为这个"花"儿,属于之前第一个"花"儿的变种,易语言写支持库也能玩出"花"儿来(易写易库(EXEK)进展5),我也不反对. 在 ...
- c++新增加的一个概念称之为_新概念四册中的这个句子是对的吗?
今天有老师微信提问我下面这句话: a. I would have been very pleased to be regarded as something so interesting as a p ...
- 今年一个偶然的创业,就改变了我的人生
今年一个偶然的创业,就改变了我的人生. 今年一个偶然的机会接下了一家别人转让的 菜 鸟 驿 站,记得刚投资的时候,那是最忙碌的时候,货物积压成堆,而且新到的货物把之前很多没取的货物压的死死的. 我还记 ...
最新文章
- 滴滴算法大赛算法解决过程 - 机器学习
- 为什么我从 npm 到 yarn 再到 npm?
- 温州大学《深度学习》课程课件(十一、序列模型)
- mysql 编译cpu数量_适合MySQL的Xeon 55XX系列CPU编译参数
- request.getcontextPath() 理解
- introduction of servlet filter
- bvp解算器是什么_几种飞控的姿态解算算法
- opencv绘制矩形框
- 计算机编号、硬盘序列号和Mac地址查询方法
- [笔记] 当当音乐人:免费将Midi转化为WAV
- TQ2440内核linux2.6.28移植
- C++内部链接与外部链接
- HackerRank python练习——Quartiles
- Linux 打开 Xbrowser 可视化操作界面
- jQuery中ajax用form表单方式提交数据
- 在Word2010中交叉引用插入参考文献
- 为了网络安全被束缚的无人机背后的故事!
- 如何对一个杯子进行检测
- 最全面性能测试方案模板
- 正则化-最通俗的解释