FFmpeg在Linux下的简单安装并与Java结合获取视频缩略图功能实现

下载ffmpeg】:

解压】:
        使用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的安装与简单的获取视频的缩略图功能,它还可以支持更多文件格式,做更多有用的事情,有兴趣的童鞋可以自行研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值