Java 使用 ffmpeg.exe ( FLV视频转换器 )
最近公司的网站需要一些视频功能 , 在本地测试了不同格式的视频 , 但是有些格式的视频在浏览器上是不支持的 , 所以就想到了将视频格式转换统一. 找啊找就找到了这个 .
ffmpeg.exe是一个源于Linux的工具软件,为FLV视频转换器,可以轻易地实现FLV向其它格式avi、asf、 mpeg的转换或者将其它格式转换为flv。
这个工具的使用需要找个这个工具的存放位置或者 , 程序中会调用ffmpeg.exe文件(这个东西网上很多随便下一个)
/*** 将视频转为flv视频* * @param mediapath 视频文件路径(原)* @param ffmpegpath 转码工具所在路径* @param codedMediaPath 转码 后的视频文件位置(新)* @uesr "xinzhifu@knet.cn"* @date 2016年11月19日下午3:32:38*/public static boolean transCodeToFlv(String mediapath, String ffmpegpath,String codcFilePath) {File file = new File(mediapath);if (!file.exists()) {System.err.println("路径[" + mediapath + "]对应的视频文件不存在!");return false;}// 创建一个List集合来保存转换视频文件为flv格式的命令List<String> commands = new java.util.ArrayList<String>();commands.add(ffmpegpath); // 添加转换工具路径commands.add("-i"); // 添加参数"-i",该参数指定要转换的文件commands.add(mediapath); // 添加要转换格式的视频文件的路径commands.add("-qscale"); // 指定转换的质量commands.add("6");commands.add("-ab"); // 设置音频码率commands.add("64");commands.add("-ac"); // 设置声道数commands.add("2");commands.add("-ar"); // 设置声音的采样频率commands.add("22050");commands.add("-r"); // 设置帧频commands.add("24");commands.add("-y"); // 添加参数"-y",该参数指定将覆盖已存在的文件commands.add(codcFilePath);try {ProcessBuilder builder = new ProcessBuilder();builder.command(commands);builder.redirectErrorStream(true);builder.start();System.out.println("转码成功!");return true;} catch (Exception e) {e.printStackTrace();return false;}}/*** 截取视频的截图* @param media_path* @param ffmpeg_path* @param picPath* @return* @uesr "xinzhifu@knet.cn"* @date 2016年11月19日下午3:35:54*/public static boolean mediaPrtScreen(String media_path, String ffmpeg_path,String picPath) {File file = new File(media_path);if (!file.exists()) {System.err.println("路径[" + media_path + "]对应的视频文件不存在!");return false;}List<String> commands = new java.util.ArrayList<String>();commands.add(ffmpeg_path);commands.add("-i");commands.add(media_path);commands.add("-y");commands.add("-f");commands.add("image2");commands.add("-ss");commands.add("20");// 这个参数是设置截取视频多少秒时的画面// commands.add("-t");// commands.add("0.001");commands.add("-s");commands.add("700x525");commands.add(picPath);try {ProcessBuilder builder = new ProcessBuilder();builder.command(commands);builder.start();return true;} catch (Exception e) {e.printStackTrace();return false;}}public static void main(String[] args) {transCodeToFlv("F:/video/建国大业.mpg", "F:/video/ffmpeg.exe","F:/video/建国大业.flv");mediaPrtScreen("F:/video/屌丝男士.mov", "F:/video/ffmpeg.exe","F:/video/屌丝男士.jpg");}
这个工具的命令很多 , 这里我只是调用了一些简单的命令 .
整理了几百本各类技术电子书和视频课程 ,送给小伙伴们。同名公号内回【666】自行领取。和一些小伙伴们建了一个技术交流群,一起探讨技术、分享技术资料,旨在共同学习进步,如果感兴趣就扫码加入我们吧!
Java 使用 ffmpeg.exe ( FLV视频转换器 )相关推荐
- Java 利用ffmpeg工具实现视频MP4转m3u8
Java 利用ffmpeg工具实现视频MP4转m3u8(一) 前言 (一)ffmpeg工具转码 1.如何安装ffmpeg工具 2.如何使用ffmpeg工具进行视频转码 (二)播放m3u8文件 1.vi ...
- java利用ffmpeg追加合并视频文件
java利用ffmpeg追加合并视频文件 首先要用到ffmpeg,可以根据操作系统自行下载 每个视频格式要一样,分辨率要一样 多个视频地址以list存放,直接上代码 /*** 合并视频文件* @par ...
- 采用ffmpeg转换flv视频到mp4格式时报错的解决方案
1. ffmpeg支持如下格式转换视频 $ffmpeg -i 源文件 目标文件 如: $ffmpeg -i hello.flv hello.mpeg $ffmpeg -i hello.flv hel ...
- windows用ffmpeg将flv视频转换为mp4
在ffmpeg.exe所在文件夹下执行: .\ffmpeg -i D:\000.flv -threads 5 -preset ultrafast D:\666.mp4 注意: .\ffmpeg 的 点 ...
- Java使用ffmpeg实现从视频中提取音频 (mp4、mp3)
/*** 从视频中提取音频*/@Testpublic void videoGetMp3(){// 提取命令String commit = "$0 -i $1 -ss 00:00:01 -t ...
- PHP中利用Ffmpeg获得flv视频缩略图和播放时间
为什么80%的码农都做不了架构师?>>> 这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持 ...
- Java借助ffmpeg进行音视频的格式转换(如m4a转mp3)
FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或GPL 许可证(依据你选择的组件) FFmpeg 官网: FFMPEG分为3个版本:Static,Shared,D ...
- 13 rtsp视频服务 基于node+ffmpeg 转换为 flv 视频服务
前言 接上一篇文章 rtsp视频服务 转换为 rtmp服务 转换为前端可用的服务 继续讨论 前端播放 rtsp 视频服务 rtsp视频服务 转换为 rtmp服务 转换为前端可用的服务 会使用到 ffm ...
- JAVA调用FFmpeg实现音视频转码加水印功能
目录 目录 写在前面 MAVEN引用 获取音视频基本信息 音频转码成Mp3格式 视频转码成Mp4格式 视频转码成Mp4并添加文字水印 视频转码成Mp4并添加图片水印 测试代码 写在前面 如今各大云厂商 ...
最新文章
- python编程爱心-520用Python画一颗特别的爱心送给她
- NavicatPremium连接MySQL出现异常Authentication plugin ‘caching_sha2_password‘ cannot be loaded的解决方案
- android 自定义wifi设置在哪里,Android Wifi的设置、连接操作
- Java EE陷阱#1:忽略@Singleton的默认锁定
- androidtabhost缓存_FragmentTabHost布局的使用及优化方式
- html vba 单元格 格式,VBA设置单元格格式之——字体
- kl散度度量分布_概率图简要模型笔记(二)马尔可夫随机场与KL散度、最大熵、指数族分布、高斯分布、极大似然分布...
- java lstm_人人都能看懂的LSTM介绍及反向传播算法推导(非常详细)
- DBNull与Null的区别
- 笔记本电脑键盘切换_2019年最好的2500元以内的笔记本电脑
- 第一个 Shell脚本
- win10 更新后指纹不能使用
- JS的基本概念和语法
- ACM-水题 Demacia of the Ancients
- vm虚拟机安装凤凰os安卓系统
- 错误:Redis----(error) MISCONF Redis is configured to save RDB snapshots
- 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
- matlab计算正弦信号基波,Matlab入门篇——正弦信号、实指数信号和复指数信号的仿真.ppt...
- 斯坦福的著名小兔子模型的点云数据_基于正交投影的点云局部特征描述详解
- php解析mpp文件中的多级任务