网上和官方资料整合
存在问题,在不丢帧的情况下转换后的gif会比原始mp4文件大很多。

package jinx;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;/*** 利用ffmpeg将mp4转换为gif*/
public class FFMpegUtil {//Windows下 ffmpeg.exe的路径//private static String ffmpegEXE = "D:\\Downloads\\ffmpeg-20180528-ebf85d3-win64-static\\bin\\ffmpeg.exe";//Linux与mac下  ffmpeg的路径private static String ffmpegEXE = "/usr/local/Cellar/ffmpeg/4.1.2/bin/ffmpeg";/**** @param time       截取视频长度* @param start      截取开始时间 如果为null表示全部转换为gif* @param inputPath  被转换的mp4文件位置* @param outPath    转换后gif文件位置* @throws Exception*/public static void convetor(int time,String start,String inputPath, String outPath) throws Exception {List<String> command = new ArrayList<String>();command.add(ffmpegEXE);if(0!=time){command.add("-t");command.add(String.valueOf(time));}if(start!=null&&!"00:00:00".equals(start)){command.add("-ss");command.add(start);}command.add("-i");command.add(inputPath);command.add(outPath);ProcessBuilder builder = new ProcessBuilder(command);Process process = null;try {process = builder.start();} catch (IOException e) {e.printStackTrace();}//使用这种方式会在瞬间大量消耗CPU和内存等系统资源,所以这里我们需要对流进行处理InputStream errorStream = process.getErrorStream();InputStreamReader inputStreamReader = new InputStreamReader(errorStream);BufferedReader br = new BufferedReader(inputStreamReader);String line = "";while ((line = br.readLine()) != null) {}if (br != null) {br.close();}if (inputStreamReader != null) {inputStreamReader.close();}if (errorStream != null) {errorStream.close();}}public static void main(String[] args) {String videoInputPath = "/Users/jinx/Downloads/1.mp4";String coverOutputPath = "/Users/jinx/Downloads/4.gif";try {convetor(5,"00:00:01",videoInputPath,coverOutputPath);} catch (Exception e) {e.printStackTrace();}}}

java利用FFMpeg将mp4转换为gif相关推荐

  1. 利用ffmpeg 把.mp4转换为.flv

    1. 下载安装 ffmpeg Download FFmpeg windows下载编译之后的exe文件,放到path环境变量中. Linux 下 tar xvf xxx.tar.bz2 ./config ...

  2. Java 利用ffmpeg工具实现视频MP4转m3u8

    Java 利用ffmpeg工具实现视频MP4转m3u8(一) 前言 (一)ffmpeg工具转码 1.如何安装ffmpeg工具 2.如何使用ffmpeg工具进行视频转码 (二)播放m3u8文件 1.vi ...

  3. 使用jsmpegjs前,先把利用 ffmpeg 将 MP4 格式的文件转换为 ts 格式

    利用 ffmpeg 将 MP4 格式的文件转换为 TS 格式 ffmpeg官网:http://ffmpeg.org/download.html ffmpeg下载地址: https://github.c ...

  4. java利用ffmpeg追加合并视频文件

    java利用ffmpeg追加合并视频文件 首先要用到ffmpeg,可以根据操作系统自行下载 每个视频格式要一样,分辨率要一样 多个视频地址以list存放,直接上代码 /*** 合并视频文件* @par ...

  5. Java使用FFmpeg实现mp4转m3u8

    Java使用FFmpeg实现mp4转m3u8 前言 FFmpeg M3U8 一.需求及思路分析 二.安装FFmpeg 1.windows下安装FFmpeg 2.linux下安装FFmpeg Ubunt ...

  6. 利用FFmpeg完成 mp4格式转avi格式

    我们可以用ffmpeg来完成一些很有用的功能.这篇文章就来说说,怎样用ffmpeg来完成视频格式的转换. 首先在我们搭建好ffmpeg环境的基础上,如下链接所示 https://blog.csdn.n ...

  7. 利用ffmpeg将mp4视频转换成多张jpg图片

    分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acodec ...

  8. ffplay flv mp4 转_利用 FFmpeg 将 MP4 转成 FLV

    最近做一个小项目,要在线播放录制的 MP4 视频,想开源的 flash player 或 html 5 可以播放.可,虽然 MP4 是 H.264 编码,但就是播放不了.可能是封装方式(PS 方式)不 ...

  9. python3 利用ffmpeg把音频转换为16khz的wav文件

    最近语音识别需要转换为16khz 16位的wav文件,这里分享一下我的代码: 这里默认电脑已经安装好ffmpeg,没安装好的话,mac用hombrew安装一下就行了,然后: import osdef ...

最新文章

  1. JavaScript之各种继承方式和优缺点
  2. 趣链 BitXHub跨链平台 (8)交易验证
  3. Codeforces 698D Limak and Shooting Points (搜索)
  4. opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
  5. C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码
  6. VueJS实现用户管理系统
  7. 一图读懂|H3C SecPath ACG1050-X1应用控制网关
  8. [原]接上-Linux环境-Jenkins实战-分布式构建-自动化持续集成(二)SVN构建及发布
  9. 实时计算Flink 快速入门 —— 步骤二:注册上下游存储
  10. 社会达尔文主义 盛行时间_新达尔文主义的心理理论
  11. C语言经典100道编程案例
  12. Linux 串口驱动与使用
  13. 关于《高油压调速器机械液压系统的优化设计》的疑问
  14. 思科服务器中ftp的配置文件,思科服务器ftp的配置
  15. Windows删除打开方式多余项
  16. 在windows电脑上配置kubectl远程操作kubernetes
  17. linux下使用iso文件安装yum
  18. 基于Python实现的学生信息管理系统
  19. matlab计算三角格网面积,MATLAB中plot的用法
  20. 国外网站打开非常慢,什么鬼?

热门文章

  1. 4月4日 JavaWeb 周三
  2. 干货 | NLP算法岗大厂面试经验与路线图分享
  3. B. Tournament
  4. 【操作系统】-- 动态分区分配算法(首次适应算法FF、最佳适应算法BF、最坏适应算法WF、循环首次适应算法NF)
  5. 瑞泰设立西南医科大学口腔医学院•瑞泰口腔奖学金
  6. Data Structures and Algorithms (English) - 6-10 Sort Three Distinct Keys(30 分)
  7. 小情侣冷战到半夜!不料程序员男友一波“神操作”巧妙化解,女友懵了.........
  8. 分享ps颜色偏黄照片的修正原理和思路
  9. 顺丰同城赴港IPO,即时配送烽火再起
  10. 分享77个HTMLCSS源码,总有一款适合您