ffmpeg是一个很强大的音视频处理工具,官网是:http://ffmpeg.org/ 官网介绍ffmpeg是:一个完整的、跨平台的解决方案,能够记录、转换和传输音频和视频。ffmpeg既能够播放视频,也提供命令行工具来处理视频,另外还有强大的视频处理库用于开发,下面是以Linux为例介绍ffmpeg的安装流程的简单的命令行对视频进行转码操做,是ffmpeg中最最简单的入门内容.html
首先去官网下载源码包,这里下载的是最新的ffmpeg-3.3.1.tar.bz2,下载以后上传至Linux准备安装,首先解压安装包:编程
tar -xjvf ffmpeg-3.3.1.tar.bz2 若是不能解压,则安装gzip2 yum install -y bzip2 cd ffmpeg-3.3.1/
若是如今直接执行configure配置的话,可能会报以下的错误:vim
错误的意思是 yasm/nasm 包不存在或者很旧,可使用--disable-yasm禁用这个选项编译,yasm是一款汇编器,而且是彻底重写了nasm的汇编环境,接收nasm和gas语法,支持x86和amd64指令集,因此这里安装一下yasm便可,下载地址是:http://yasm.tortall.net/Download.html 进入后下载1.3.0的源码包,执行下面命令安装:工具
tar -xvzf yasm-1.3.0.tar.gz cd yasm-1.3.0/ ./configure make make install
编译参数都是默认的,直接安装到系统中便可,安装成功以后继续回到ffmpeg解压后的目录,执行下面命令编译并安装:测试
./configure --enable-shared --prefix=/monchickey/ffmpeg make make install
编译过程有点长,耐心等待完成以后执行 cd /monchickey/ffmpeg/ 进入安装目录,.net
查看一下发现有bin,include,lib,share这4个目录,其中bin是ffmpeg主程序二进制目录,include是C/C++头文件目录,lib是编译好的库文件目录,share是文档目录,而后进入bin目录,命令行
执行 ./ffmpeg -version 查看当前版本的详细信息, 默认状况下通常会报 libavdevice.so.57: cannot open shared object file: No such file or directory, 缘由是lib目录未加载到连接到系统库中,系统ld目录列表在/etc/ld.so.conf中, 打开文件会发现,里面引用了/etc/ld.so.conf.d/下面全部的.conf文件, 好比mariadb-x86_64.conf 咱们只须要建立一个文件并写入lib路径便可,执行命令: vim /etc/ld.so.conf.d/ffmpeg.conf 而后添加一行内容: /monchickey/ffmpeg/lib 以后保存并退出, 而后执行 ldconfig 使配置生效, 如今再次执行 ./ffmpeg -version 显示就正常了
而后能够根据须要将bin目录添加至环境变量中以保证任什么时候候都能使用ffmpeg命令,下面测试一下对视频进行转码:code
首先由一个avi格式的视频文件,大小是37M,如今使用ffmpeg转换为mp4格式,执行下面命令:视频
ffmpeg -i test.avi out.mp4
确认以后,看到屏幕滚动开始处理,大约半分钟以后视频就转换完毕了,转换后mp4视频大小是17M,具体能够下载下来看一下htm
如今ffmpeg安装和最简单的命令行视频转换就完成了,实际上ffmpeg命令行工具能够有不少参数不用编程就能够实现强大的功能,这个很是牛