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,如需转载请自行联系原作者

相关文章
|
27天前
|
Java 数据安全/隐私保护
Java ffmpeg 实现视频加文字/图片水印功能
【10月更文挑战第22天】在 Java 中使用 FFmpeg 实现视频加文字或图片水印功能,需先安装 FFmpeg 并添加依赖(如 JavaCV)。通过构建 FFmpeg 命令行参数,使用 `drawtext` 滤镜添加文字水印,或使用 `overlay` 滤镜添加图片水印。示例代码展示了如何使用 JavaCV 实现文字水印。
|
编解码 Java
JAVA调用FFMpeg进行转码等操作
JAVA调用FFMpeg进行转码等操作
327 0
|
Java 数据安全/隐私保护
java操作FFmpeg处理图片
java操作FFmpeg处理图片
190 0
|
存储 开发工具 git
如何使用ffmpeg生成视频缩略图
如何使用ffmpeg生成视频缩略图
|
编解码 Java Linux
Java调用ffmpeg进行视频转码
Java调用ffmpeg进行视频转码(windows或linux),以及后续的一些测试、调优
2331 0
|
Java Android开发 C++
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
227 0
【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
|
编解码 网络协议 Ubuntu
Java 调用 FFMPEG 的坑人之处
昨天用 ubuntu 20.04 安装的 ffmpeg 进行视频转码时,出现了一个奇葩的问题,用命令行能过的指令,通过 Java 调用死活不行。原来Java 调用的默认允许协议与命令行的竟然不一样(至于为什么不一样,还没有找到答案...)。
1117 0
|
存储 编解码 Java
【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )
【Android FFMPEG 开发】FFMPEG ANativeWindow 原生绘制 ( Java 层获取 Surface | 传递画布到本地 | 创建 ANativeWindow )
630 0
Java-生成缩略图工具类
import java.awt.Color; import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; import java.
1783 0