/ 技术 / 2716浏览

CentOS 安装 ffmpeg 6.0

文章目录
  • 安装依赖
  • 下载 ffmpeg
  • 安装 ffmpeg
  • 报错问题
  • 给QQ机器人接入了ChatGPT , 想要使用Edge TTS 给机器人接入语音需要 FFmpeg 环境,所以在服务器上安装了 FFmpeg,但在过程中遭遇了很多错误,最终通过搜索和借助ChatGPT 得以解决。

    如果了解 ffmpeg 原理和使用参考:

    https://ffmpeg.xianwaizhiyin.net/

    https://www.cnblogs.com/v3ucn/p/17186731.html

    安装依赖

    yum update
    yum install -y autoconf automake cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
    

    下载 ffmpeg

    下载地址:https://www.ffmpeg.org/releases/

    我下载的是 ffmpeg 6.0

    wget https://www.ffmpeg.org/releases/ffmpeg-6.0.tar.gz
    tar xzf ffmpeg-6.0.tar.gz
    

    安装 ffmpeg

    解压后进入ffmpeg目录编译和安装

    ./configure --enable-shared
    make
    make install

    如果不出意外执行 ffmpeg 就可以看到安装成功了。

    报错问题

    但是偏偏就是出了点意外,在执行./configure --enable-shared 时出现 nasm/yasm not found or too old. Use --disable-x86asm for a crippled build. 错误,这是因为缺少nasm或yasm程序或版本过旧,所以要安装 nasm

    yum install nasm

    解决完这个问题,在make 的时候又报出了 Failed to set locale, defaulting to C error: rpmdb: BDB0113 Thread/process 12631/140605682448192 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery error: cannot open Packages index using db5 - (-30973) error: cannot open Packages database in /var/lib/rpm CRITICAL:yum.main: Error: rpmdb open failed 错误。

    看报错是RPM数据库(/var/lib/rpm)出现了错误,最直接干脆的办法就是删除数据库重新构建

    删除 RPM 数据库文件

    rm -f /var/lib/rpm/__db*

    重新构建

    db_verify /var/lib/rpm/Packages

    如果依然不行还可以使用rpm 工具恢复数据库

    rpm --rebuilddb

    解决完问题,继续make 安装就行了,如果安装完使用 ffmpeg 命令发现没有生效,且出现 ffmpeg: error while loading shared libraries: libavdevice.so.60: cannot open shared object file: No such file or directory 错误,说明 ffmpeg 没有加载成功,需要使用下面命令更新下缓存,执行完命令系统会重新扫描共享的库并更新缓存。

    sudo ldconfig

    安装成功图

    这里荒芜寸草不生 后来你来这走了一遭 奇迹般万物生长 这里是我的心

    0

    1. This post has no comment yet

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注