Centos7.6 编译安装ffmpeg4

六眼飞鱼酱① 提交于 2019-12-06 03:54:28

ffmpeg介绍

它作为迄今为止最流行的一个开源多媒体框架之一,FFmpeg有两种基本使用方式——作为库或者作为工具,其中后者的使用场景更多,同时它也被称为多媒体开发的“瑞士军刀”。详见

FFmpeg有很多使用场景,其中较为典型的有播放器、媒体编辑器、云转码等等。

FFmpeg官网

安装准备

  • 下载ffmpeg源码包:地址

  • 安装ffmpeg依赖

    yum install -y yasm
    

编译安装ffmpeg4

# 下载源码包后解压:
$ tar xvJf ffmpeg-4.1.tar.xz
$ cd ffmpeg-4.1
$ ./configure --enable-shared --prefix=/usr/local/ffmpeg  # 时间比较久...

系统配置

  • 编辑 /etc/ld.so.conf ,将ffmpeg依赖的库加入系统环境:

    $ vim /etc/ld.so.conf
    # 输入以下内容
    include ld.so.conf.d/*.conf
    /usr/local/ffmpeg/lib/
    
    $ ldconfig  # 使上述配置生效
    
  • 加入系统命令:

    $ ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
    
  • 检查安装结果:

    [root@trancecode-204 bin]# ffmpeg -version
    ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
    configuration: --enable-shared --prefix=/usr/local/ffmpeg
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    

出现以上输出,表示基础版ffmpeg安装完成,请继续往下看!!!

使用yum安装(推荐)

使用上述方法编译安装,只是安装了ffmpeg的基础包,具体生产环境中可能会因为缺少某些依赖包而报错。当然,你可以逐个安装所以的依赖包,但是这样操作太麻烦了,使用yum安装会一次性把所有依赖装上,接下来使用yum安装:

$ yum install -y epel-release 

# 安装Nux Dextop Yum 源
$ rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
$ rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
## 配置RPM-GPG-KEY可能报错,但是只要nux-dextop安装成功就可以忽略上述错误

# 补充Centos6 Nux Dextop Yum源
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

# 安装ffmpeg
$ yum install -y ffmpeg ffmpeg-devel 

$ ffmpeg -version
ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-36)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil      54. 31.100 / 54. 31.100
libavcodec     56. 60.100 / 56. 60.100
libavformat    56. 40.101 / 56. 40.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 40.101 /  5. 40.101
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  2.101 /  1.  2.101
libpostproc    53.  3.100 / 53.  3.100

上面结果可见,很多依赖包被安装!

ffmpeg基础使用

ffmpeg命令基本用法

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!