Java + ffmpeg 生成视频缩略图

简介:

对于上传视频生成缩略图使用的是ffmpeg进行生成的。

自己在网上找了如何进行编译ffmpeg的方法

但是感觉太复杂了

就到csdn上找到了编译好的ffmpeg文件

下载下来

给大家一个下载地址

http://download.csdn.net/source/453719

体会到ffmpeg非常强大,大部分流行的视频格式的都能生成缩略图

 现在开始

首先下载ffmpeg解压

建立一个bat文件

start

E:\ffmpeg\bin\ffmpeg.exe -i %1 -ss 20 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f  image2 %2 

exit
 

说明下使用红色吧标记的意义 

E:\ffmpeg\bin\ffmpeg.exe ffmpeg的路径

%1  %2 和C语言有点相似是为传参数保留位置

20 要截取多少秒后的图片

打开MyEclipse,建立一个工程 ,以及一个java文件

  1. package test;   
  2.   
  3. import java.io.IOException;   
  4.   
  5. public class Ffmpeg {   
  6.   
  7. public static void main(String[] args) {   
  8.   
  9. //视频文件      
  10.   
  11.         String videoRealPath = "F:\\瞬间.flv";      
  12.   
  13.         //截图的路径(输出路径)      
  14.   
  15.         String imageRealPath ="F:\\a.jpg";      
  16.   
  17.         try {      
  18.   
  19.             //调用批处理文件      
  20.   
  21.             Runtime.getRuntime().exec("cmd /c start F:\\ffmpeg.bat " + videoRealPath + " " + imageRealPath);      
  22.   
  23.         } catch (IOException e) {      
  24.   
  25.             // TODO Auto-generated catch block      
  26.   
  27.             e.printStackTrace();      
  28.   
  29.         }   
  30.   
  31. }   
  32.   
  33. }   

好了运行下试试,在F盘下就可以看到截图了



本文转自java豆子博客园博客,原文链接:http://www.cnblogs.com/error404/archive/2011/08/16/2140656.html,如需转载请自行联系原作者

相关文章
|
编解码 Java
JAVA调用FFMpeg进行转码等操作
JAVA调用FFMpeg进行转码等操作
270 0
|
Java 数据安全/隐私保护
java操作FFmpeg处理图片
java操作FFmpeg处理图片
143 0
|
存储 开发工具 git
如何使用ffmpeg生成视频缩略图
如何使用ffmpeg生成视频缩略图
|
编解码 网络协议 Ubuntu
Java 调用 FFMPEG 的坑人之处
昨天用 ubuntu 20.04 安装的 ffmpeg 进行视频转码时,出现了一个奇葩的问题,用命令行能过的指令,通过 Java 调用死活不行。原来Java 调用的默认允许协议与命令行的竟然不一样(至于为什么不一样,还没有找到答案...)。
1010 0
|
编解码 Java Linux
Java调用ffmpeg进行视频转码
Java调用ffmpeg进行视频转码(windows或linux),以及后续的一些测试、调优
2057 0
|
存储 编解码 Java
【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )
【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )
567 0
|
Java Android开发 C++
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
195 0
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
|
3月前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
76 0
|
7月前
|
C++ Windows
FFmpeg入门及编译 3
FFmpeg入门及编译
52 0