【JAVA】JAVA使用ffmpeg进行视频格式转换以及截图
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进行视频格式转换以及截图相关推荐
- Ffmpeg,mencoder视频格式转换
一. Ffmpeg,mencoder视频格式转换 Mencoder 转 flv mencoder -ffourcc FLV1 -lavfopts i_certify_that_my_video_st ...
- Java使用ffmpeg进行视频格式转换、音视频合并、播放、截图
封装类: ffplay.ffmpeg.ffprobe是安装的ffmpeg路径. import java.io.BufferedReader; import java.io.File; import j ...
- java flv转mp3_用java程序调用ffmpeg执行视频文件格式转换flv
用java小例题说明更直观:(可以直接编译运行) 环境我在windows平台下测试的... 需要在e:/下有ffmpeg.exe;mencoder.exe;drv43260.dll;pncrt.dll ...
- java 实现 视频格式转换。
直接进入正题吧. ps:利用ffmpeg 来进行格式转换. 一 建立 java项目. 二 在所建立的java项目中 建立一个ffmpeg文件夹,这个文件夹下放ffmpeg所需的文件. 三 在建立一个 ...
- Java视频格式转换---avi转MP4(h264编码格式)
Java视频格式转换---avi转MP4(h264编码格式的MP4视频在网页播放兼容性更好--试过其它的编码格式,没找到能在网页上直接播放的) 资源借鉴处 需要添加到pom.xml的包 java代码 ...
- Java类jar 实现 转视频格式 fvl转mp4,avi示例
依赖: <!-- jave核心包 获取视频时长--> <dependency><groupId>ws.schild</groupId><artif ...
- ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式
ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式 命令如下: ffmpeg -y -i Titanic.mkv -s 640*480 out.h264 运行效果: 一般的 使用 ffmpe ...
- php视频格式转换---------ffmpeg-php扩展与ffmpeg.exe安装与使用
HP转换视频格式这个问题, 找了一下午的ffmpeg-php扩展的安装与使用方法,都是千篇一律转载的. 下面是我整理的步骤,希望能帮助大家这个问题. 1.下载ffmpeg-php扩展包和ffmpeg. ...
- 【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )
FFmpeg 系列文章目录 [FFmpeg]Windows 搭建 FFmpeg 命令行运行环境 [FFmpeg]FFmpeg 相关术语简介 [FFmpeg]FFmpeg 相关术语简介 二 [FFmpe ...
最新文章
- python环境设置_CentOS 7.2环境搭建实录(第四章:python环境配置)
- php mysql log文件怎么打开_如何查看mysql的日志文件
- OpenGL创建窗口
- 音视频技术开发周刊 81期
- 机器学习速成课程 | 练习 | Google Development——编程练习:Pandas 简介
- 此次边路调整系统推荐射手走哪路_王者荣耀:S15射手最新梯度排行,马可T2,狄仁杰T1,T0仅剩两位...
- IntelliJ IDEA字符串常量长度太长的问题解决:constant string too long
- HDU1181 变形课【DFS】(废除)
- 据说学会这款数据分析工具,会被各大名企高薪哄抢
- Delphi 与 DirectX 之 DelphiX(15): TPictureCollectionItem.DrawWaveX、DrawWaveY ...
- # 笔记2021-11
- Android Multimedia框架总结(三)MediaPlayer中创建到setDataSource过程
- Linux音频驱动-ASOC(ALSA System on Chip)
- 腾讯手游助手吃鸡一直服务器繁忙,腾讯手游助手里的吃鸡鼠标移动太快怎么办?...
- C# SQL拼接字符串
- php 万能密码,网络安全系列之十 万能密码登录网站后台
- 雅虎邮箱 转发设置_如何在Yahoo Mail中设置外出答复
- 给数据库中的某个表添加一个字段!!!!!
- 2010 年全国大学生数学建模竞赛甘肃赛区 获奖情况
- Opencv图像处理之平滑(Smoothing)模糊(Blurring)操作
热门文章
- 什么是“网络空间安全”?这个行业就业方面如何?
- PDF 与 PS页面描述语言与PDF文件解析(转)
- 前端利器——炫酷的CodePen
- 《程序员面试金典(第6版)》面试题 08.14. 布尔运算(动态规划,分治,递归,难度hard++)
- C语言课程设计(2)-新生入学管理系统
- Python制作发票自动校核微信机器人
- kali linux amd显卡驱动,AMD 显卡安装debian
- 【YOLOv5】LabVIEW+OpenVINO让你的YOLOv5在CPU上飞起来
- 超级玛丽游戏python实现
- OEA 扩展属性系统 - 主要设计类图