java获取视频缩略图
近期由于在做一个关于视频播放的项目,需要使用程序自动获取视频文件的缩略图,特写此文供其他人参考,有不清楚之楚可以给我留言。
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();
- }
java获取视频缩略图的更多相关文章
- java获取视频播第一帧
FFMPEG 功能很强大,做视频必备的软件.大家可通过 http://ffmpeg.org/ 了解.Windows版本的软件,可通过 http://ffmpeg.zeranoe.com/builds/ ...
- android 获取视频缩略图终极解决方案(ffmpeg)
http://blog.csdn.net/u010499721/article/details/50338623 前些天有个师弟(在做一个仿LinkInEyes行车记录仪的app)问我怎么获取视频缩略 ...
- Java获取视频的大小、时长
前端上传视频之后,根据上传的视频文件获取视频的大小和时长 1.获取视频时长 private String ReadVideoTime(File source) { Encoder encoder = ...
- java获取视频的第一帧
//------------maven配置文件--------------- <dependency> <groupId>org.bytedeco</groupId> ...
- java 获取视频时间
//先将视频保存到项目生成临时文件,获取时长后删除临时文件 // 使用fastdfs进行文件上传 @RequestMapping("/uploadVideoToFast") @Re ...
- Java将视频转为缩略图--ffmpeg
Java生成视频缩略图 对于上传视频生成缩略图使用的是ffmpeg进行生成的. 自己在网上找了如何进行编译ffmpeg的方法 但是感觉太复杂了 就到csdn上找到了编译好的ffmpeg文件 体会到ff ...
- Windows下使用ffmpeg与java实现截取视频缩略图
[ffmpeg.exe可执行文件获取]: 网上搜索后得到编译好的ffmpeg文件,下载地址:http://download.csdn.net/source/453719 [安装]: 将下载的文件解压, ...
- Android之使用MediaMetadataRetriever类获取视频第一帧
一.首先,来介绍一下MediaMetadataRetriever类,此类位于android.media包下,这里,先附上可查看此类的API地址:MediaMetadataRetriever类.大家能够 ...
- 通过 ffmpeg 获取视频第一帧(指定时间)图片
最近做一个上传教学视频的方法,上传视频的同时需要上传视频缩略图,为了避免用户上传的缩略图与视频内容不符,经理要求直接从上传的视频中截图视频的某一帧作为缩略图,并给我推荐了FFMPEG.FFMPEG 功 ...
随机推荐
- JavaScript简易教程
这是我所知道的最完整最简洁的JavaScript基础教程. 这篇文章带你尽快走进JavaScript的世界——前提是你有一些编程经验的话.本文试图描述这门语言的最小子集.我给这个子集起名叫做“Java ...
- Tidis单机部署
拉取镜像 docker pull yongman/tidis:latest docker pull pingcap/tikv docker pull pingcap/pd 运行pd,由于Raft算法3 ...
- Java Comparator字符排序(数字、字母、中文混合排序)
Java.lang.Character类 复习一下 这是修正前的排序效果: 这是修正后的排序效果: 完整示例: 以下是排序的部份代码(非全部代码:拼音首字母算法不在其中) import java.ut ...
- Nginx——使用 Nginx 提升网站访问速度【转载+整理】
原文地址 本文是写于 2008 年,文中提到 Nginx 不支持 Windows 操作系统,但是现在它已经支持了,此外还支持 FreeBSD,Solaris,MacOS X~ Nginx(" ...
- scala sortBy and sortWith
sortBy: sortBy[B](f: (A) ⇒ B)(implicit ord: math.Ordering[B]): List[A] 按照应用函数f之后产生的元素进行排序 sorted: so ...
- MYSQL 中query_cache_size小结
1 原理 MySQL查询缓存保存查询返回的完整结果.当查询命中该缓存,会立刻返回结果,跳过了解析,优化和执行阶段. 查询缓存会跟踪查询中涉及的每个表,如果这写表发生变化,那么和这个表相关的所有缓 ...
- java 自动化测试平台构建思想
很多人迷信于自动化测试平台,认为这玩意是万能的,对于测试人员,不需要写代码,只需要在平台上选择一下,输入一点参数,就能达到测试的目的.想法是不错的,但关键在于实现这个平台的过程,这个就需要一个WEB开 ...
- aaronyang的百度地图API之LBS云[把数据丰富显示1/3]
中国的IT 需要无私分享和贡献的人,一起努力 本篇博客来自地址:http://www.cnblogs.com/AaronYang/p/3673933.html,请支持原创,未经允许不许转载 一.第一步 ...
- Go 程序的性能调试问题
英文原文:Debugging performance issues in Go programs 假设你手上有个Go语言编写的程序,你打算提升它的性能.目前有一些工具可以为此提供帮助.这些工具能帮你发 ...
- 用pigz代替gzip -- 并行压缩软件
用pigz代替gzip By yejr on 03 十二月 2012 pig是个啥东东?官网:http://zlib.net/pigz一句话简介: A parallel implementation ...