«

Linux下安装ffmpeg

时间:2024-2-17 10:35     作者:韩俊     分类: Linux


ffmpeg是一个很强大的音视频处理工具,官网介绍ffmpeg是:一个完整的、跨平台的解决方案,可以记录、转换和传输音频和视频。ffmpeg既可以播放视频,也提供命令行工具来处理视频,另外还有强大的视频处理库用于开发,下面是以Linux为例介绍ffmpeg的安装流程的简单的命令行对视频进行转码操作,是ffmpeg中最最简单的入门内容。

ffmpeg 官网地址:http://ffmpeg.org/

1、下载ffmpeg

下载网址:http://www.ffmpeg.org/download.html

2、解压缩

tar -xjvf ffmpeg-3.3.1.tar.bz2

3、配置,编译,安装

cd ffmpeg-3.3.1/
./configure --enable-shared --prefix=/usr/local/ffmpeg

--enable-shared 参数据说是允许其编译产生动态库,在以后的编程中要用到这个几个动态库,我也没考证,就直接用了。

如果出现异常,提示因为缺少yasm或者该包旧了。可以使用 --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=/usr/local/ffmpeg
make
make install

4、安装之后在/usr/local/ffmpeg会看到有如下几个目录

bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
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命令,操作步骤如下:

vi /etc/profile

在文件末尾加上两句话:

export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH

(这里的FFMPEG_HOME是ffmpeg的安装路径,你可以根据自己的情况进行修改)

执行 source etc/profile 使之立即生效。

下面测试一下对视频进行转码:

将 avi 文件转换为 mp4,命令如下:

ffmpeg -i test.avi out.mp4

确认之后,看到屏幕滚动开始处理,大约半分钟之后视频就转换完毕了。

现在ffmpeg安装和最简单的命令行视频转换就完成了,实际上ffmpeg命令行工具可以有很多参数不用编程就可以实现强大的功能。

标签: linux

热门推荐