音视频压缩的利器——MPlayer 音视频压缩的利器——MPlayer

    技术2022-05-11  19

    http://www.mplayerhq.hu/design7/news.html

    http://www.mplayerhq.hu/DOCS/man/zh/mplayer.1.html#GENERAL ENCODING OPTIONS (一般编码选项) (仅用于 MENCODER)

    mencoder d:/cc.avi -ovc lavc -lavcopts vcodec=mpeg2video -ofps 25 -o d:/cc3.mpg

    过 Linux 的人一般都会听说过 MPlayer 的大名,在媒体播放领域它简直是无所不能,支持绝大多数媒体格式,支持各种输入方式,能通过各种网络协议透明地访问远程文件,还支持很多种输出方式,用 directfb 方式就可以在 Console 下看电影,没有有尝试过?那感觉真的很棒!

    用 MPlayer 来看电影是显然的,至于用它来压缩视频就很少有人尝试了,我也是今天才知道:-) 更准确地说,是用 MPlayer 项目中的一个工具 MEncoder 来进行视频压缩,它是 MPlayer 的一部分,安装 MPlayer 时里面都会带有 MEncoder。

    MEncoder 的常用用法如下:

    mencoder input_file -oac acodec -ovc vcodec -o output_file

    1、同 MPlayer 一样,它的输入文件也可以是远程文件,比如 ftp, http 等协议的 URL,或者设备文件,比如DVD、VCD等,

    2、通过 -oac 选项来指定压缩时所用的音频编码器,它可以是 copy、mp3lame、toolame、lavc等,其中 copy 是指直接拷贝音频流而不重新编码。它们还可以有自己的参数,通过 -acodecopts 的方式来指定,比如 lavc 的参数 acodec=mp2 和 abitrate = 128,可以这样指定

    -oac lavc -lavcopts acodec=mp2:abitrate=128

    3、类似,通过 -ovc 选项来指定视频编码器,它可以是 copy, lavc, xvidenc, divx4, x264enc, mpeg等,其中 lavc 是功能最强大的编码器集合,里面包括多种音视频编码器,音频编码器包括mp2, mp3, ac3, adpcm_ima_wav,视频编码器见下表:

    Codec nameDescriptionmjpegMotion JPEG ljpegLossless JPEG h263H.263 h263pH.263+ mpeg4ISO standard MPEG-4 (DivX 5, XVID compatible) msmpeg4pre-standard MPEG-4 variant by MS, v3 (AKA DivX3) msmpeg4v2pre-standard MPEG-4 by MS, v2 (used in old asf files) wmv1Windows Media Video, version 1 (AKA WMV7) wmv2Windows Media Video, version 2 (AKA WMV8) rv10an old RealVideo codec mpeg1videoMPEG-1 video mpeg2videoMPEG-2 video huffyuvlossless compression asv1ASUS Video v1 asv2ASUS Video v2 ffv1FFmpeg's lossless video codec

    通过 -lavcopts 选项指定 lavc 模块的参数来设定音频和视频编码器,以及其它参数,如比特律。

    一个完整的使用 MEncode 来压缩媒体文件的例子如下:

    mencoder ftp://eeatech.org/football.mpg -oac lavc -lavcopts acodec=mp2:abitrate=64 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=600:vpass=1 -o /opt/football.avi

    在用这些参数进行压缩时,可以达到 200帧/秒的速度,而在同一台机器上用 Real Producer 10 来进行类似压缩比的压缩,只有 30-60 帧/秒的速度,这可能与我的 MEncoder 是经过优化编译的有关,里面包括了对各种多媒体指令集的支持。难道 Real Producer 里面没有这样的优化?那也太不可思议了……

    此外,MEncoder 还支持各种 filter, 以实现画面的剪裁、更改分辨率等需求。

    关于 MEncoder 更详细的用法请参照它的官方文档,关于各种参数的设置请参照参数说明。

    MPlayer 也有 Windows 下的版本,其中就带有 MEncoder。

     

    最新回复(0)