最近公司的网站需要一些视频功能 , 在本地测试了不同格式的视频 , 但是有些格式的视频在浏览器上是不支持的 , 所以就想到了将视频格式转换统一. 找啊找就找到了这个 .

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视频转换器 )相关推荐

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

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

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

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

  3. 采用ffmpeg转换flv视频到mp4格式时报错的解决方案

    1. ffmpeg支持如下格式转换视频 $ffmpeg -i 源文件  目标文件 如: $ffmpeg -i hello.flv hello.mpeg $ffmpeg -i hello.flv hel ...

  4. windows用ffmpeg将flv视频转换为mp4

    在ffmpeg.exe所在文件夹下执行: .\ffmpeg -i D:\000.flv -threads 5 -preset ultrafast D:\666.mp4 注意: .\ffmpeg 的 点 ...

  5. Java使用ffmpeg实现从视频中提取音频 (mp4、mp3)

    /*** 从视频中提取音频*/@Testpublic void videoGetMp3(){// 提取命令String commit = "$0 -i $1 -ss 00:00:01 -t ...

  6. PHP中利用Ffmpeg获得flv视频缩略图和播放时间

    为什么80%的码农都做不了架构师?>>>    这里简单说一下:FFmpeg是用于录制.转换和流化音频和视频的完整解决方案,一套领先的音/视频编解码类库.官方正式版ffmpeg不支持 ...

  7. Java借助ffmpeg进行音视频的格式转换(如m4a转mp3)

    FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或GPL 许可证(依据你选择的组件) FFmpeg 官网: FFMPEG分为3个版本:Static,Shared,D ...

  8. 13 rtsp视频服务 基于node+ffmpeg 转换为 flv 视频服务

    前言 接上一篇文章 rtsp视频服务 转换为 rtmp服务 转换为前端可用的服务 继续讨论 前端播放 rtsp 视频服务 rtsp视频服务 转换为 rtmp服务 转换为前端可用的服务 会使用到 ffm ...

  9. JAVA调用FFmpeg实现音视频转码加水印功能

    目录 目录 写在前面 MAVEN引用 获取音视频基本信息 音频转码成Mp3格式 视频转码成Mp4格式 视频转码成Mp4并添加文字水印 视频转码成Mp4并添加图片水印 测试代码 写在前面 如今各大云厂商 ...

最新文章

  1. python编程爱心-520用Python画一颗特别的爱心送给她
  2. NavicatPremium连接MySQL出现异常Authentication plugin ‘caching_sha2_password‘ cannot be loaded的解决方案
  3. android 自定义wifi设置在哪里,Android Wifi的设置、连接操作
  4. Java EE陷阱#1:忽略@Singleton的默认锁定
  5. androidtabhost缓存_FragmentTabHost布局的使用及优化方式
  6. html vba 单元格 格式,VBA设置单元格格式之——字体
  7. kl散度度量分布_概率图简要模型笔记(二)马尔可夫随机场与KL散度、最大熵、指数族分布、高斯分布、极大似然分布...
  8. java lstm_人人都能看懂的LSTM介绍及反向传播算法推导(非常详细)
  9. DBNull与Null的区别
  10. 笔记本电脑键盘切换_2019年最好的2500元以内的笔记本电脑
  11. 第一个 Shell脚本
  12. win10 更新后指纹不能使用
  13. JS的基本概念和语法
  14. ACM-水题 Demacia of the Ancients
  15. vm虚拟机安装凤凰os安卓系统
  16. 错误:Redis----(error) MISCONF Redis is configured to save RDB snapshots
  17. 使用 Cheat Engine 修改 Kingdom Rush 中的金钱、生命、星
  18. matlab计算正弦信号基波,Matlab入门篇——正弦信号、实指数信号和复指数信号的仿真.ppt...
  19. 斯坦福的著名小兔子模型的点云数据_基于正交投影的点云局部特征描述详解
  20. php解析mpp文件中的多级任务

热门文章

  1. 【产品】《用户体验要素》结构层(交互设计和信息架构)
  2. 06届大学生就业情况调查
  3. Reader和Writer
  4. 用宽屏玩魔兽争霸 分辨率设置方法
  5. ios::app与ios::ate的区别
  6. 黑马程序员万人开学季!美女班主任甚至即兴rap了一段脱口秀~
  7. arduino的WiFi模块连接使用
  8. 100 数据结构教程
  9. Linux 系统IP摄像头,linux内核模块获取设备IP地址
  10. 佳明服务器又中断了,Garmin佳明多项服务中断 官方回应正在加速恢复