读书人

施用MPlayer转换音频

发布时间: 2012-11-06 14:07:00 作者: rapoo

使用MPlayer转换音频

MPlayer转换视频是无敌的,自然转换音频也应当是小菜一碟,可悲剧的是很多时候它不支持单独转换音频,当我想把一部电影中的一部分音频或者就是一个音频文件转换成ogg或aac时,往往就需要结合外部工具例如oggenc来进行。

传统方法是把音频pcm dump到一个磁盘文件来转,可是巨大的pcm文件有点伤硬盘,于是有人就用内存盘(例如linux的/dev/shm)来暂存这个pcm,可内存盘也有不够用的时候。

因为oggenc之类的工具都有从stdin读入pcm的功能,如果mplayer支持输出pcm到stdout的话就可以用管道来完全避免掉那个pcm中转文件的创建了。可是读遍mplayer的文档,就是没有这个功能,于是我猥琐的眼神凝视到了/dev/stdout上了,对了,就是这么用

mplayer xxx.mp4 -endpos 1:00 -ao pcm:file=/dev/stdout -really-quiet -novideo | oggenc - -o dest.ogg

其中-really-quiet基本上可以保证mplayer不会往stdout上输出任何东西(除了咱的pcm数据流);-novideo当然是为了dump的速度考虑;-endtime是要截取的音频流的长度。

?

后续:这不是一个跨平台的方案,win32可没有/dev/stdout,于是我干脆写了个程序,思路就是使用命名管道中转,有需要的请联系我:waywardson@126.com。

读书人网 >其他相关

热点推荐