【下载ffmpeg】:
下载地址:http://download.chinaunix.net/download.php?id=5532&ResourceID=2990
【解压】:
使用SSH或者FTP工具将下载的文件上传至linux服务器;
解压:tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2
得到解压后的目录是ffmpeg-0.4.9-p20051120,名字太长,利用mv命令改为ffmpeg:mv ffmpeg-0.4.9-p20051120 ffmpeg
【配置】:
进入ffmpeg解压目录:cd ffmpeg/
进行配置:./configure --enable-shared --prefix=/usr/local/ffmpeg
其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。
【编译并安装】:
make
make install
【安装之后在/usr/local/ffmpeg会看到有三个目录】:
lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录
【配置Path】:
安装完成以后并不能直接使用 ffmpeg 命令执行,系统会提示并没有这样的命令,需要进一步进行配置Path:
编辑profile文件:
vi /etc/profile
i (插入)
在文件末尾加上两句话:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
保存并退出:按Esc键 输入:wq! 回车
使修改生效:source /etc/profile
【如果启动报错】:
若出现error while loading shared libraries:libavdevice.so.52错误,需要修改文件ld.so.conf。
修改ld.so.conf:vi /etc/ld.so.conf
在末尾加上一句话:/usr/local/ffmpeg/lib
保存并退出:按Esc键 输入:wq! 回车
使修改生效:ldconfig -v
修改/usr/local/ffmpeg/lib目录下的文件权限为777:
cd /usr/local/ffmpeg/lib/
chmod 777 *
【使用Java与FFmpeg在linux上实现视频缩略图的截取】:
Java代码:
// 视频缩略图截取
// inFile 输入文件(包括完整路径)
// outFile 输出文件(可包括完整路径)
public static boolean transfer(String inFile, String outFile) {
String command = "ffmpeg -i " + inFile + " -y -f image2 -ss 00:00:10 -t 00:00:01 -s 176x144 " + outFile;
try {
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(command);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
while ((line = br.readLine()) != null)
System.out.println(line);
} catch (Throwable t) {
t.printStackTrace();
return false;
}
return true;
}
注意点:
在linux上生成视频缩略图的时候很有可能会出现,程序上没有抛出任何异常,但是就是缩略图没有生成,这个时候请考虑文件夹的权限问题, 往往是因为没有权限写入导致。可以对你要生成的文件夹添加最高权限,如相对test文件夹加权限:chmod 777 test/ 即可。
【总结】:
本文主要简单的介绍了FFmpeg的安装与简单的获取视频的缩略图功能,它还可以支持更多文件格式,做更多有用的事情,有兴趣的童鞋可以自行研究。