利用ffmpeg、mencoder转换视频格式为FLV格式

ffmpeg下载地址:http://www.videohelp.com/tools/ffmpeg

 

mencoder下载地址:http://www.mplayerhq.hu/design7/news.html

 

java里调用这两个转换器的源码见附件。


 

MEncoder

 

一、MEncoder 的下载及安装(解压缩)

  MEncoder 可以从它的官方网站(http://www.mplayerhq.hu )下载,包括以下三个文件,解压缩后即可以直接使用,无须安装。
  1、MPlayer 1.0 RC2 for Windows: MPlayer 和 MEncoder 的主文件,下载后解压到硬盘的任意位置,比如 D:\Mplayer;
  2、MPlayer 1.0 RC2 for Windows GUI: MPlayer 的用户界面,用于播放媒体文件;
  3、Binary Codec Packages: 解码、编码过程中所需的编码、解码包,解压后放在 MPlayer 的级目录 Codecs,比如 D:\MPlayer\Codecs。

二、使用 MEncoder 把一个 MPEG-2 文件压缩成一个 AVI 文件

  以下命令中把一个 MPEG-2 文件(扩展名为 MPG )转换成一个 AVI 文件(Divx 视频编码,MP3 音频编码):

mencoder.exe input.mpg -oac mp3lame -lameopts aq=3:abr:br=128 -srate 44100 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1200 -ffourcc DX50 -vf scale=480:360,crop=640:478:0:0,harddup -ofps 30 -o output.avi

 1、-oac mp3lame: (output audio codec)指定输出媒体文件的音频编码类型。此例中选择的是 mp3lame。

 2、-lameopts aq=3:abr:br=128: (lame options)指定 LAME 的编码设置。aq 为编码质量,它的值为 0~9,数字越小音频的数字失真就越小,编码的时间就越长;编码方式包括有 abr(按平均码率编码)、cbr(指固定码率编码)、vbr(按动态码率编码)三种;br=128 则指定编码码率为 128kbps。
  3、-srate 44100: (sample rate)指定音频的采样频率。频率通常有 22050、32000、44100 等几种。
  4、-ovc lavc: (output video codec)指定输出媒体文件的视频编码类型。此处选择的是 Libavcodec 的视频编码,

  5、-lavcopts vcodec=mpeg4:vbitrate=1200: (Libavcodec options)指定视频编码的设置。由于 Libavcodec 包含了多种视频编码,所以用 vcodec=mpeg4 来指定具体的使用 MPEG-4 编码,vbitrate 是设定视频编码的码率为 1200kbps。
  6、-fourcc DX50: (four character code)指定视频数据流格式的四字符代码。通常视频播放软件通过查询 FourCC 代码并且寻找与 FourCC 代码相关联的视频解码器来播放特定的视频流。比如 DIV3 = DivX Low-Motion、DIV4 = DivX Fast-Motion、DIVX = DivX4、DX50 = Divx5 等等。
  7、-vf scale=480:360,crop=640:478:0:0,harddup: (video filters)指定编码的视频滤镜设置。scale=480:360 用于指定输入媒体文件的画面大小,宽度为 480 像素,高度为 360 像素。crop=638:477:1:2 是剪栽选项,从原始画面的座标(1,2)为起点,截取 638×477 像素的图像。
  注意,命令里的 scale 参数放在 crop 参数之前,表示“先缩放后剪栽”,如果 crop 参数放于 scale 参数之前,则表示“先剪栽后缩放”。
  8、-ofps 30: (output fps)指定输出媒体文件的帧速,30fps 指每秒种播放 30 个画面。
  9、-o output.avi: (output)指定转换后输入媒体的文件名。

 

 

ffmpeg

 

 

下载地址:http://www.videohelp.com/tools/ffmpeg

    一、ffmpeg转换视频为FLV格式

 

 
%1\ffmpeg -i  

%2\a.avi -f flv -vcodec flv -sameq -acodec libmp3lame -ab 56 -y %3\a.flv 
 

******************

%1为ffmpeg存放目录

%2为需要转换的文件路径

%3为FLV文件输出目录

******************

 

2、ffmpeg截图

【转换文件格式的同时抓缩微图】
ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"

【对已有flv抓图】
ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 "test.jpg"

****************
-ss后跟的时间单位为秒
****************

 

【补充说明】 如果遇到ffmpeg所涉及以外的视频格式,可以使用其他转换工具先转换,例如mencoder。

 

附录一(ffmpeg参数说明):

 

【参数】 【说明】 【示例】
-i "路径" 指定需要转换的文件路径 -i "C:\nba.wmv"
-y 覆盖输出文件,即如果nba.xxx文件已经存在的话,直接覆盖
   控制画面参数
-bitexac 使用标准比特率
-vcodec xvid 使用xvid压缩
-s <宽高比> 指定分辨率大小 -s 320*240
-r <数值> 帧速率(非标准数值会导致音画不同步【标准值为15或29.97】) -r 15
-b <比特率> 指定压缩比特率 -b 1500

-qmin <数值>

设定最小质量 -qmin 10
-qmax <数值> 与-qmin相反,可以与-qmin同时使用 -qmax 30
-sameq 使用与源视频相同的质量
   控制声音参数
-acodec aac 设定声音编码
-ac <数值> 设定声道数:1为单声道,2为立体声 -ac 2
-ar <采样率> 设定声音采样率(8000,11025,22050) -ar 22050
-ab <比特率> 设定声音比特率(-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96) -ab 96
-vol <百分比> 设定音量大小,比如设定200就会比原来的音量大2倍 -vol 200

 

 

参考:http://hi.baidu.com/creatives/blog/item/41f6c32ad06cdb2bd42af128.html

         http://www.iteye.com/topic/333994

         http://www.cnblogs.com/weichuo/archive/2008/11/21/1338298.html

你可能感兴趣的:(ffmpeg)