JAVA 处理视频文件,需要用到 ffmpeg  这个工具。不需要依赖jar包。无论是在windows服务器还是linux服务器,想要使用 ffmpeg 都需要先安装。

附上Linux下  *.tar.gz/*.tgz、*.bz2形式的源代码软件包    安装方法:

说明:建议解压后先阅读说明文件,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make  install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将文件分散地安装在系统的多个目录中,往往很难把它删除干 净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure  --prefix=目录名,这样可以使用“rm  -rf  软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学 者使用。

安装:tar  zxvf  *.tar.gz  或  tar  yxvf  *.bz2  先解压    
然后进入解压后的目录:    
./configure  配置    
make  编译    
make  install  安装    
卸载:make  uninstall  或  手动删除

安装的时候如果没有指明安装路径,一般都会安装在 /user/local下面。安装完成之后,可以在Linux下输入 ffmpeg 查看是否安装成功。

安装成功之后,就可以在代码里引用了:

视频格式转换:

/*** 视频转码* @param ffmpegPath    转码工具的存放路径* @param upFilePath    用于指定要转换格式的文件,要截图的视频源文件* @param codcFilePath    格式转换后的的文件保存路径* @return* @throws Exception*/private boolean executeCodecs(String ffmpegPath, String upFilePath, String codcFilePath) throws Exception {// 创建一个List集合来保存转换视频文件为flv格式的命令List<String> convert = new ArrayList<String>();convert.add(ffmpegPath); // 添加转换工具路径convert.add("-i"); // 添加参数"-i",该参数指定要转换的文件convert.add(upFilePath); // 添加要转换格式的视频文件的路径convert.add("-qscale");     //指定转换的质量convert.add("6");convert.add("-ab");        //设置音频码率convert.add("64");convert.add("-ac");        //设置声道数convert.add("2");convert.add("-ar");        //设置声音的采样频率convert.add("22050");convert.add("-r");        //设置帧频convert.add("24");convert.add("-y"); // 添加参数"-y",该参数指定将覆盖已存在的文件convert.add(codcFilePath);boolean mark = true;ProcessBuilder builder = new ProcessBuilder();try {builder.command(convert);builder.redirectErrorStream(true);builder.start();} catch (Exception e) {mark = false;e.printStackTrace();}return mark;}

视频截图:

    /*** * @param ffmpegPath    转码工具的存放路径* @param upFilePath    要截图的视频源文件* @param mediaPicPath    添加截取的图片的保存路径* @param width         截图的宽* @param height        截图的高* @return*/private boolean screenImage(String ffmpegPath, String upFilePath, String mediaPicPath, String width, String height) {// 创建一个List集合来保存从视频中截取图片的命令List<String> cutpic = new ArrayList<String>();cutpic.add(ffmpegPath);cutpic.add("-i");cutpic.add(upFilePath); // 要截图的视频源文件cutpic.add("-y");cutpic.add("-f");cutpic.add("image2");cutpic.add("-ss"); // 添加参数"-ss",该参数指定截取的起始时间cutpic.add("1"); // 添加起始时间为第17秒cutpic.add("-t"); // 添加参数"-t",该参数指定持续时间cutpic.add("0.001"); // 添加持续时间为1毫秒cutpic.add("-s"); // 添加参数"-s",该参数指定截取的图片大小cutpic.add(width + "*" + height); // 添加截取的图片大小为350*240cutpic.add(mediaPicPath); // 添加截取的图片的保存路径ProcessBuilder builder = new ProcessBuilder();try {builder.command(cutpic);builder.redirectErrorStream(true);builder.start();} catch (Exception e) {e.printStackTrace();return false;}return true;}

【JAVA】JAVA使用ffmpeg进行视频格式转换以及截图相关推荐

  1. Ffmpeg,mencoder视频格式转换

    一. Ffmpeg,mencoder视频格式转换 Mencoder 转 flv  mencoder -ffourcc FLV1 -lavfopts i_certify_that_my_video_st ...

  2. Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图

    封装类: ffplay.ffmpeg.ffprobe是安装的ffmpeg路径. import java.io.BufferedReader; import java.io.File; import j ...

  3. java flv转mp3_用java程序调用ffmpeg执行视频文件格式转换flv

    用java小例题说明更直观:(可以直接编译运行) 环境我在windows平台下测试的... 需要在e:/下有ffmpeg.exe;mencoder.exe;drv43260.dll;pncrt.dll ...

  4. java 实现 视频格式转换。

    直接进入正题吧. ps:利用ffmpeg 来进行格式转换. 一 建立 java项目. 二 在所建立的java项目中 建立一个ffmpeg文件夹,这个文件夹下放ffmpeg所需的文件. 三 在建立一个 ...

  5. Java视频格式转换---avi转MP4(h264编码格式)

    Java视频格式转换---avi转MP4(h264编码格式的MP4视频在网页播放兼容性更好--试过其它的编码格式,没找到能在网页上直接播放的) 资源借鉴处 需要添加到pom.xml的包 java代码 ...

  6. Java类jar 实现 转视频格式 fvl转mp4,avi示例

    依赖: <!-- jave核心包 获取视频时长--> <dependency><groupId>ws.schild</groupId><artif ...

  7. ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式

    ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式 命令如下: ffmpeg -y -i Titanic.mkv -s 640*480 out.h264 运行效果: 一般的 使用 ffmpe ...

  8. php视频格式转换---------ffmpeg-php扩展与ffmpeg.exe安装与使用

    HP转换视频格式这个问题, 找了一下午的ffmpeg-php扩展的安装与使用方法,都是千篇一律转载的. 下面是我整理的步骤,希望能帮助大家这个问题. 1.下载ffmpeg-php扩展包和ffmpeg. ...

  9. 【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )

    FFmpeg 系列文章目录 [FFmpeg]Windows 搭建 FFmpeg 命令行运行环境 [FFmpeg]FFmpeg 相关术语简介 [FFmpeg]FFmpeg 相关术语简介 二 [FFmpe ...

最新文章

  1. python环境设置_CentOS 7.2环境搭建实录(第四章:python环境配置)
  2. php mysql log文件怎么打开_如何查看mysql的日志文件
  3. OpenGL创建窗口
  4. 音视频技术开发周刊 81期
  5. 机器学习速成课程 | 练习 | Google Development——编程练习:Pandas 简介
  6. 此次边路调整系统推荐射手走哪路_王者荣耀:S15射手最新梯度排行,马可T2,狄仁杰T1,T0仅剩两位...
  7. IntelliJ IDEA字符串常量长度太长的问题解决:constant string too long
  8. HDU1181 变形课【DFS】(废除)
  9. 据说学会这款数据分析工具,会被各大名企高薪哄抢
  10. Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...
  11. # 笔记2021-11
  12. Android Multimedia框架总结(三)MediaPlayer中创建到setDataSource过程
  13. Linux音频驱动-ASOC(ALSA System on Chip)
  14. 腾讯手游助手吃鸡一直服务器繁忙,腾讯手游助手里的吃鸡鼠标移动太快怎么办?...
  15. C# SQL拼接字符串
  16. php 万能密码,网络安全系列之十 万能密码登录网站后台
  17. 雅虎邮箱 转发设置_如何在Yahoo Mail中设置外出答复
  18. 给数据库中的某个表添加一个字段!!!!!
  19. 2010 年全国大学生数学建模竞赛甘肃赛区 获奖情况
  20. Opencv图像处理之平滑(Smoothing)模糊(Blurring)操作

热门文章

  1. 什么是“网络空间安全”?这个行业就业方面如何?
  2. PDF 与 PS页面描述语言与PDF文件解析(转)
  3. 前端利器——炫酷的CodePen
  4. 《程序员面试金典(第6版)》面试题 08.14. 布尔运算(动态规划,分治,递归,难度hard++)
  5. C语言课程设计(2)-新生入学管理系统
  6. Python制作发票自动校核微信机器人
  7. kali linux amd显卡驱动,AMD 显卡安装debian
  8. 【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来
  9. 超级玛丽游戏python实现
  10. OEA 扩展属性系统 - 主要设计类图