在arm平台Euler系统上编译安装ffmpeg

发布于:2025-02-11 ⋅ 阅读:(90) ⋅ 点赞:(0)

问题背景

arm平台上,fmpeg不一定能用yum install轻松安装,可能要编译安装。

环境配置

以下是我的版本配置,读者可以下载同版本的tag分支,以便复现。

ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 7.3.0 (GCC)

Euler版本如下:

NAME="EulerOS"
VERSION="2.0 (SP10)"
ID="euleros"
VERSION_ID="2.0"

主要流程

主要参考腾讯教程FFmpeg开发笔记(七)欧拉系统编译安装FFmpeg的"二、在EulerOS(欧拉系统)上编译安装FFmpeg"一节。

以下是我跟随教程执行的一些经验:
第一步,yum install,安装前确保配好了yum镜像。安装时如果权限不足,可以用sudo。我安装g++时报错找不到,但跳过也没关系。
第二步,安装x264,执行make install如果权限不足,可以使用sudo,下同。作者使用非root用户执行./configuremake都没用到root权限,只在运行make install时用到了。
最后,记得要执行ffmpeg -version,如果没报错输出了各个组件的版本信息,才说明安装成功。如果遇到了"error while loading shared libraries"的报错,请参考下文。

解决报错:error while loading shared libraries

分别遇到了两个报错:

  • ffmpeg查看版本报错error while loading shared libraries: libavdevice.so.59
  • ffmpeg: error while loading shared libraries: libx264.so.164: cannot open shared object file: No such file or directory

参考博客如下:

改写后的/etc/ld.so.conf内容如下,其中/usr/local/ffmpeg/lib/是ffmpeg安装的目录,/usr/local/lib是x264安装的目录。

/usr/local/ffmpeg/lib/
/usr/local/lib

执行ldconfig激活配置,即可修复两个错误。


网站公告

今日签到

点亮在社区的每一天
去签到