您的位置:首页 > 编程语言 > Java开发

java获取视频缩略图

2015-07-22 22:06 447 查看
近期由于在做一个关于视频播放的项目,需要使用程序自动获取视频文件的缩略图,特写此文供其他人参考,有不清楚之楚可以给我留言。

1、使用工具:ffmpeg,

官网下载地址:http://ffmpeg.org/download.html

我的电脑使用的是mac,安装也比较简单,参考下面的文章:
http://webmedia.blog.163.com/blog/static/416695020123261226695/ http://blog.chinaunix.net/uid-16974460-id-295979.html
下面给出linux系统安装示例:

yum -y install yasm

tar -jxvf ffmpeg-2.7.2.tar.bz2

cd ffmpeg-2.7.2

./configure --enable-shared --prefix=/usr/local/ffmpeg

make

make install

cd /usr/local/ffmpeg

vi /etc/ld.so.conf.d/ffmpeg.conf(写入:/usr/local/ffmpeg/lib)

ldconfig

ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/

测试:
ffmpeg -i xxx.mp4 -y -f image2 -t 0.001 -s 125x125 xxx.jpg


2、配置环境变量

如果是windows,将ffmpeg命令加入到path环境变量中

如果是linux系统,则执行如下命令,

cd /usr/local/bin

ln -s /usr/local/ffmpeg/bin/ffmpeg ffmpeg

3、JAVA代码

注意:需要使用如下方式将每个参数分别添加到列表中,不能将参数与命令合在一起,不然会报命令找不到路径,我在mac上是这样的,不知道在window下会不会出现。

/**
* 保存视频缩略图
* @throws IOException
*/
public static void saveVideoThumbnail(String videoPath, String imagePath) throws IOException {
//ffmpeg -i xxx.mp4 -y -f image2 -t 0.001 -s 125x125 xxx.jpg
List<String> cmd = new java.util.ArrayList<String>();
cmd.add("ffmpeg");// 视频提取工具的位置
cmd.add("-i");
cmd.add(videoPath);
cmd.add("-y");
cmd.add("-f");
cmd.add("image2");
cmd.add("-t");
cmd.add("0.001");
cmd.add("-s");
cmd.add("125x125");
cmd.add(imagePath);
ProcessBuilder builder = new ProcessBuilder();
builder.command(cmd);
builder.start();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: