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



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

上一篇:操作系统之进程管理(2)


下一篇:[UVA 11234] Expressions (二叉树的建立与层次遍历)