FFmpeg安装--命令--Java封装
来源:互联网 发布:智能算法优化 编辑:程序博客网 时间:2024/06/07 15:36
原文地址:http://blog.csdn.net/johnson_moon/article/details/53572897
简介
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,现在由Michael Niedermayer维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。
源码git仓库: https://git.ffmpeg.org/ffmpeg.git ffmpeg
(一)安装
1.Linux编译源码安装
解压源码包
定位到源码根路径(包含configure)
执行configure命令【./configure --enable-shared --prefix=/opt/ffmpeg】
如果编译报错,则执行【./configure --disable-yasm --enable-shared --prefix=/opt/ffmpeg】
其中,--prefix= 指定了安装路径
执行make命令进行编译,编译过程会持续一段时间
执行安装命令,持续一段时间
接着定位到安装目录的bin下,运行./ffmpeg但是报错
编辑/etc/ld.so.conf文件
将安装好的lib路径添加到文件中,保存
运行ldconfig命令使更改生效
执行命令成功,说明安装、配置成功
2.直接解压release包
下载系统对应的release包,直接解压即可执行
下载地址https://ffmpeg.org/download.html
A.Windows
B.Linux
(二)常用命令
(三)Java封装
因为ffmpeg是C++开发的,所以Java基本无法对其进行封装,不过考虑到其在控制台下运行的特点,可以通过java的进程调用对其进行简单的图形化封装(实测效果不是很好,主要为了简化操作)。
Java调用外部进程的方式。
上图中,Progress对CommandBuilder以及Process进行简单的封装,主要的命令则在Executor类中封装成方法,如下图:
然后通过JavaFX可视化界面将操作搬到窗口中:
程序效果如下:
这样将常用的操作搬到可视化界面中,大大的简化了操作的复杂度。不过由于程序通过调用进程进行操作,在消息进度等方面会存在一些问题,比如主进程取不到子进程的输出信息(缓冲,没有输出到流),以及一些不可控因素等。
实测该程序在转换、视频截取合成和截屏录制功能上是没有问题的。
- FFmpeg安装--命令--Java封装
- ffmpeg使用笔记: 安装--命令--Java封装
- java简单封装ffmpeg
- java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流
- java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流
- java封装FFmpeg命令,支持原生ffmpeg全部命令,实现FFmpeg多进程处理与多线程输出控制(开启、关闭、查询),rtsp/rtmp推流、拉流
- Ffmpeg 安装,改写Ffmpeg并封装成so
- Android Java调用ffmpeg命令
- Android Java调用ffmpeg命令
- ubuntu 12.04上安装ffmpeg命令找不到
- 使用Java调用linux命令ffmpeg
- ffmpeg命令
- ffmpeg 命令
- ffmpeg命令
- ffmpeg命令
- ffmpeg命令
- ffmpeg 命令
- FFmpeg 命令
- Windows Server2012无法打开运行空间池-服务器管理器WinRM插件可能已损坏或丢失
- 在python3中,关于redis读取数据带有‘b’的问题
- 洛谷P2983 [USACO10FEB]购买巧克力Chocolate Buying
- request和requestScope
- mongoDB学习笔记之创建用户账户以及权限
- FFmpeg安装--命令--Java封装
- 第十章 类
- CSS3的REM设置字体大小
- 【Vue】安装
- 11 jstl标签 JSP开发模式 注册案例
- CentOS7系统下YUM安装安装Mongodb 3.4
- Construct 2 小游戏制作和软件设计
- innerHTML, outerHTML, innerText, outerText, textContent
- leetcode Merge k Sorted Lists