ffmpeg 是一个很强大的音视频处理工具,官网是:http://ffmpeg.org/ 官网介绍 ffmpeg 是:一个完整的、跨平台的解决方案,可以记录、转换和传输音频和视频。ffmpeg 既可以播放视频,也提供命令行工具来处理视频,另外还有强大的视频处理库用于开发,下面是以 Linux 为例介绍 ffmpeg 的安装流程的简单的命令行对视频进行转码操作,是 ffmpeg 中最最简单的入门内容.
首先去官网下载源码包,这里下载的是最新的 ffmpeg-3.3.1.tar.bz2,下载之后上传至 Linux 准备安装,首先解压安装包:
tar -xjvf ffmpeg-3.3.1.tar.bz2
cd ffmpeg-3.3.1/
如果现在直接执行 configure 配置的话,可能会报如下的错误:
错误的意思是 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/ 进入安装目录,查看一下发现有 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 命令,下面测试一下对视频进行转码:
首先由一个 avi 格式的视频文件,大小是 37M,现在使用 ffmpeg 转换为 mp4 格式,执行下面命令:
ffmpeg -i test.avi out.mp4
确认之后,看到屏幕滚动开始处理,大约半分钟之后视频就转换完毕了,转换后 mp4 视频大小是 17M,具体可以下载下来看一下
现在 ffmpeg 安装和最简单的命令行视频转换就完成了,实际上 ffmpeg 命令行工具可以有很多参数不用编程就可以实现强大的功能,这个非常牛
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于