• Linux下编译和安装ffmpeg


      本文演示Centos下面如何编译和安装ffmpeg的过程,

    一、ffmpeg的编译和安装

    1、下载解压

    wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz
    tar -zxvf ffmpeg-5.1.tar.gz
    
    • 1
    • 2

    2、进入压缩目录,编译编译和安装

    cd ffmpeg-5.1
    
    ./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static
    
    make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3、配置环境变量

    vi /etc/profile
    # 在最后PATH添加环境变量:
    export PATH=$PATH:/usr/local/ffmpeg/bin
    # 保存退出
    # 查看是否生效
    source /ect/profile  设置生效
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4、查看版本

    ffmpeg -version
    
    • 1

    二、错误处理

    1、若安装过程中出现以下错误:

    yasm/nasm not found or too old. Use –disable-yasm for a crippled build.
    
    If you think configure made a mistake, make sure you are using the latest
    version from Git. If the latest version fails, report the problem to the
    ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
    Include the log file “config.log” produced by configure as this will help
    solve the problem.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    需要安装yasm

    wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
    tar -zxvf yasm-1.3.0.tar.gz
    cd yasm-1.3.0
    ./configure --prefix=/usr/local/yasm  
    make && make install
    #要降目录加到PATH中,否则还是会报错
    export PATH="$PATH:/usr/local/yasm/bin"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2、如果出现如下错误

     error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
    
    • 1

    解决办法:将安装的lib加入到/ect/ld.so.conf中,

    • 1、vim vi /etc/ld.so.conf
    • 2、加入配置/usr/local/ffmpeg/lib,具体看自己的安装目录
      在这里插入图片描述
    • 3、刷新配置ldconfig

    3、若出现以下错误:

    ffmpeg: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
    
    • 1

    原因是没有 libiconv.so.2,需要安装

    #下载libiconv
    wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
    tar -zxvf libiconv-1.16.tar.gz
    cd libiconv-1.16
     
    #编译安装
    ./configure --prefix=/usr/local
    make
    make_install
    ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
    ldconfig
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    三、最终结果

    在这里插入图片描述

  • 相关阅读:
    Ansible工具的初步使用
    10.请介绍一下cookie
    【02】数据类型-数据变量
    一、CSS定位布局[相对定位、绝对定位、固定定位]
    国内原汁原味的免费sd训练工具--哩布哩布AI
    TechEmpower 21轮Web框架 性能评测 -- C# 的性能 和 Rust、C++并驾齐驱
    手机访问真机调试显示: Cannot add property markTimeline, object is not extensible 怎么解决
    【数据结构】包装类&简单认识泛型
    Java面向对象三大特性:继承、封装、多态
    Python与CAD系列基础篇(十)图形复制、移动、删除
  • 原文地址:https://blog.csdn.net/u012559967/article/details/133988147