首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

施用MPlayer转换音频

2012-11-06 
使用MPlayer转换音频MPlayer转换视频是无敌的,自然转换音频也应当是小菜一碟,可悲剧的是很多时候它不支持

使用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。

热点排行