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

下载ffmpeg】:
下载地址: http://www.ffmpeg.org/download.html(官网)


解压 】:
        使用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(有的没有这个 -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/ 即可。

VI的使用
--------------------------------------------------------------------------------

一、插入文本 
┌──┬────────────┐ 
│命令│描述          │ 
├──┼────────────┤ 
│i  │在当前字符前插入文本  │ 
├──┼────────────┤ 
│I  │在行首插入文本      │ 
├──┼────────────┤ 
│a  │在当前字符后添加文本  │ 
├──┼────────────┤ 
│A  │在行末添加文本     │ 
├──┼────────────┤ 
│o  │在当前行后面插入一空行 │ 
├──┼────────────┤ 
│O  │在当前行前面插入一空行 │ 
├──┼────────────┤ 
│R  │以改写方式输入文本   │ 
└──┴────────────┘ 
二、移动光标 
┌─────┬───────────┐ 
│命令   │描述         │ 
├─────┼───────────┤ 
│j或下箭头 │向下移动一行     │ 
├─────┼───────────┤ 
│k或上箭头 │向上移动一行     │ 
├─────┼───────────┤ 
│h或左箭头 │左移一个字符     │ 
├─────┼───────────┤ 
│l或右箭头 │右移一个字符     │ 
├─────┼───────────┤ 
│w     │右移一个词      │ 
├─────┼───────────┤ 
│W     │右移一个以空格分隔的词│ 
├─────┼───────────┤ 
│b     │左移一个词      │ 
├─────┼───────────┤ 
│B     │左移一个以空格分隔的词│ 
├─────┼───────────┤ 
│0     │移到行首       │ 
│Ctrl-F  │向前翻页       │ 
├─────┼───────────┤ 
│Ctrl-B  │向后翻页       │ 
├─────┼───────────┤ 
│nG    │到第n行        │ 
├─────┼───────────┤ 
│G     │到最后一行      │ 
└─────┴───────────┘ 
三、替换文本 
┌─────┬──────┐ 
│命令   │描述    │ 
├─────┼──────┤ 
│$     │到行尾   │ 
├─────┼──────┤ 
│(     │到句子的开头│ 
├─────┼──────┤ 
│)     │到句子的末尾│ 
├─────┼──────┤ 
│{     │到段落的开头│ 
├─────┼──────┤ 
│}     │到段落的末尾│ 
└─────┴──────┘ 

四、删除文本 
┌───┬───────────┐ 
│命令 │描述          │ 
├───┼───────────┤ 
│r   │替换一个字符      │ 
├───┼───────────┤ 
│c   │修改文本直到按下Esc健 │ 
├───┼───────────┤ 
│cw  │修改下一个词      │ 
├───┼───────────┤ 
│cnw  │修改接下来的n个词   │ 
└───┴───────────┘ 
五、文本编辑 
┌──┬──────────────────────┐ 
│命寺│描述                    │ 
├──┼──────────────────────┤ 
│yy │将一行文本移到缺省缓冲区中          │ 
├──┼──────────────────────┤ 
│yn │将下一个词移到缺省缓冲区中          │ 
├──┼──────────────────────┤ 
│ynw │将后面的n个词移到缺省缓冲区中        │ 
├──┼──────────────────────┤ 
│p  │如果缺省缓冲区中包含一行文本,则在当前   │ 
│  │行后面插入一个空行井将缺省缓冲区中的声   │ 
│  │容粘贴到这一行中;如果缺省缓冲区中包含   │ 
│  │多个词,把这些词粘贴到光标的右边.     │ 
├──┼──────────────────────┤ 
│P  │如果缺省缓冲区中包含一行文本,则正当前    │ 
│   │行前面插入一个空行井将缺省缓冲区中的内    │ 
│  │容粘贴到这一行中;如果缺省缓冲区中包含    │ 
│   │多个词,把这些词粘贴到光标的左边    

  │ 
└──┴──────────────────────┘ 
六、保存退出 
┌───────────┬───────────────┐ 
│命令         │描述             │ 
├───────────┼───────────────┤ 
│zz          │保存并退出          │ 
├───────────┼───────────────┤ 
│:w filename      │写入文件            │ 
├───────────┼───────────────┤ 
│:W          │写入文件           │ 
├───────────┼───────────────┤ 
│:x          │保存(如果当前文件修改过)并退出│ 
├───────────┼───────────────┤ 
│:q!          │不保存文件,直接退出      │ 
├───────────┼───────────────┤ 
│:q          │退出vi            │ 


总结 】:
本文主要简单的介绍了FFmpeg的安装与简单的获取视频的缩略图功能,它还可以支持更多文件格式,做更多有用的事情,有兴趣的童鞋可以自行研究。

本文参考的两篇博文地址:
风里密码(FFmpeg在Linux下的安装):
       Gerry(FFmpeg在Linux下的安装):

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值