java使用ffmpeg生成视频缩略图
生成视频缩略图,需要使用ffmpeg。
FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流 化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多 codec都是从头开发的。
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文件
import java.io.IOException; public class Ffmpeg { public static void main(String[] args) { //视频文件 String videoRealPath = "F://瞬间.flv"; //截图的路径(输出路径) String imageRealPath ="F://a.jpg"; try { //调用批处理文件 Runtime.getRuntime().exec("cmd /c start F://ffmpeg.bat " + videoRealPath + " " + imageRealPath); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }