fedora 安装 ffmpeg 过程记录
参考博客:1. linux(centos)安装 ffmpeg,并添加 libx264库:https://blog.csdn.net/u013015301/article/details/140778199ffmpeg 执行时如添加参数 -vcodec libx264,会出现错误:Unknown encoder 'libx264’的错误,缺少libx264库,需要安装该库,安装步骤如下:$ 代表普通用户 # 代表root权限确认 linux版本为 fedora:
cat /etc/*-releaseAmazon Linux release 2023.5.20240819 (Amazon Linux)NAME="Amazon Linux"VERSION="2023"ID="amzn"ID_LIKE="fedora" // !!!!!!VERSION_ID="2023"PLATFORM_ID="platform:al2023"PRETTY_NAME="Amazon Linux 2023.5.20240819"ANSI_COLOR="0;33"CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"SUPPORT_URL="https://aws.amazon.com/premiumsupport/"BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"VENDOR_NAME="AWS"VENDOR_URL="https://aws.amazon.com/"SUPPORT_END="2028-03-15"Amazon Linux release 2023.5.20240819 (Amazon Linux)
2. 安装步骤此步骤包含安装nasm、x264和ffmpeg。2.1 安装nasm2.1.1 下载nasm下载地址:wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz2.1.2 解压tar -zxvf nasm-2.14.tar.gz2.1.3 进入nasm目录cd nasm-2.142.1.4 执行nasm配置执行:./configure2.1.5 编译nasm执行:make2.1.6 安装nasmsudo make install2.1.7 查看是否安装成功nasm -v2.2 x264 安装2.2.1 下载x264下载地址:git clone https://code.videolan.org/videolan/x264.git2.2.2 进入x264目录cd x2642.2.3 执行x264配置注:如果不将include和lib安装在/usr/local目录,之后运行ffmpeg命令时可能仍然报错误./configure --prefix=/usr/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared2.2.4 编译x264执行:make2.1.6 安装x264make install2.1.7 x264配置环境变量编辑bashrc文件,执行:vim ~/.bashrc在最后PATH添加环境变量:export PATH="/usr/local/nasm/bin:$PATH"export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH保存退出。设置生效,执行:source ~/.bashrc2.1.8 验证是否安装成功pkg-config --libs x2642.3 安装 ffmpeg2.3.1 下载ffmpeg下载地址:wget https://ffmpeg.org//releases/ffmpeg-6.1.tar.gz2.3.2 解压tar -zxvf ffmpeg-6.1.tar.gz2.3.3 进入ffmpeg目录cd ffmpeg-6.12.3.4 执行ffmpeg配置./configure --enable-gpl --enable-libx264 --enable-shared --extra-ldflags=-L/usr/local/lib --extra-cflags=-I/usr/local/include2.3.5 编译ffmpeg执行:make2.3.6 安装ffmpegsudo make install2.3.7 配置环境变量编辑/etc/profile文件,执行:vi /etc/profile在文件的最后位置添加环境变量:export PATH=$PATH:/usr/local/ffmpeg/bin刷新资源,使其生效,执行:source /etc/profile2.3.8 验证是否安装成功ffmpeg -version2.3.9 ffmpeg卸载使用root用户登录停止ffmpeg进程sudo pkill ffmpeg卸载ffmpegsudo yum remove ffmpeg删除ffmpeg的配置文件和数据sudo rm -rf /usr/local/etc/ffmpeg /usr/local/share/ffmpeg /usr/local/share/doc/ffmpeg /usr/local/share/man/man1/ffmpeg*3 遇到过的异常3.1 ERROR: x264 not found using pkg-config说明后缀指定的地址不对,这里x264有三个包,根据大家安装的地址确定 后缀的地址。如上文安装的 包./configure --prefix=/usr/x264/ --includedir=/usr/local/include --libdir=/usr/local/lib --enable-shared那么 咱们的包就是 /usr/local/include,/usr/local/lib这里有了后,还需要一个pkg-config 包,这样,就能解决这个报错了。用来存放x264.pc我们的pkg-config 包 可以看下地址 /usr/local/lib/pkgconfig解决方案1:vim /etc/profile末尾加入内容export PKG_CONFIG_PATH=/usr/local/x264/lib/pkgconfig,具体看各位自己x264的安装路径source /etc/profile然后再./configure ...就没问题了解决方案2:这个错误信息表示在运行 ./configure 配置脚本时,检测到 libx264 库没有被找到。这可能是由于缺少 libx264 库或者没有正确安装 libx264 的开发包引起的。执行:sudo yum install pkgconfigexport PKG_CONFIG_PATH="/path/to/libx264/lib/pkgconfig"3.2 libavcodec/libavcodec.so: undefined reference to `x264_param_cleanup’这个错误表明在链接 libavcodec 库时,编译器无法找到或解析 x264_param_cleanup 函数。这可能是由于 libx264 版本不匹配或编译选项不正确引起的。以下是一些建议:(1)检查 libx264 版本:确保你的 libx264 版本与 ffmpeg 兼容。有时,特定版本的 ffmpeg 可能需要特定版本的 libx264。尽量使用较新的版本。(2)重新编译 libx264:如果你手动编译了 libx264,请尝试重新编译并安装,确保编译选项正确。可以尝试使用以下步骤:bashCopy codecd path/to/x264/sourcemake distclean./configure --enable-sharedmakesudo make install然后,重新编译 ffmpeg。(3)检查 libx264 的链接选项:确保在链接 libavcodec 时,正确引用了 libx264 库。你可以在编译 ffmpeg 时,通过 lx264 或 llibx264 选项来指定链接 libx264 库。例如,你可以在 ffmpeg 的 configure 阶段添加 --extra-libs=-lx264:./configure --enable-libx264 --extra-libs=-lx264然后,继续编译 ffmpeg。3.3 No package ‘x264’ foundpkg-config --modversion x264Package x264 was not found in the pkg-config search path.Perhaps you should add the directory containing `x264.pc’to the PKG_CONFIG_PATH environment variableNo package ‘x264’ found(1)设置 PKG_CONFIG_PATH:如果找到了 libx264.pc 文件,请将其路径添加到 PKG_CONFIG_PATH 环境变量中。例如:bashCopy codeexport PKG_CONFIG_PATH=/path/to/directory/containing/libx264.pc:$PKG_CONFIG_PATH请将 /path/to/directory/containing/ 替换为实际的目录路径。如果 libx264.pc 文件在 /usr/lib/pkgconfig/ 中,可以运行:bashCopy codeexport PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH(2)重新运行 configure:在重新运行 ./configure 之前,请确保清理之前的编译残留:bashCopy codemake distclean然后重新运行 configure:bashCopy code./configure --enable-gpl --enable-shared --enable-libx2643.4 x264 安装好了,可以看到版本信息,但是pkg-config --libs x264 查询报错x264 --versionx264 0.164.3173 4815cca(libswscale 5.5.100)built on Feb 1 2024, gcc: 4.8.5 20150623 (Red Hat 4.8.5-44)x264 configuration: --chroma-format=alllibx264 configuration: --chroma-format=allx264 license: GPL version 2 or laterlibswscale license: nonfree and unredistributableWARNING: This binary is unredistributable![root@VM-16-10-centos x264]# pkg-config --libs libx264Package libx264 was not found in the pkg-config search path.Perhaps you should add the directory containing `libx264.pc'to the PKG_CONFIG_PATH environment variableNo package 'libx264' found[root@VM-16-10-centos x264]# pkg-config --libs x264Package x264 was not found in the pkg-config search path.Perhaps you should add the directory containing `x264.pc'to the PKG_CONFIG_PATH environment variableNo package 'x264' found在这种情况下,问题可能是 x264.pc 文件不在默认的 pkg-config 搜索路径中。通常来说,x264.pc 文件应该在 lib 或 lib/pkgconfig 目录下。如果找到 x264.pc 文件,请将其路径添加到 PKG_CONFIG_PATH 环境变量中:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH根据你的输出,pkg-config 仍然无法找到 libx264 的信息。在这种情况下,有几个可能的原因:(1)libx264 的 .pc 文件不存在或未正确安装: .pc 文件是由 libx264 的开发包提供的,用于告诉 pkg-config 如何链接到该库。确保你已经安装了 libx264 的开发包,或者手动指定 libx264 的路径。(2)PKG_CONFIG_PATH 未正确设置: 确保 PKG_CONFIG_PATH 包含 libx264 的 .pc 文件所在的目录。你可以通过运行以下命令来设置:bashCopy codeexport PKG_CONFIG_PATH=/path/to/libx264/pkgconfig:$PKG_CONFIG_PATH其中 /path/to/libx264/pkgconfig 是包含 libx264.pc 文件的目录路径。(3)libx264 的库文件不在默认的库加载路径中: 尝试将 libx264 的库路径添加到 LD_LIBRARY_PATH 中:bashCopy codeexport LD_LIBRARY_PATH=/path/to/libx264/lib:$LD_LIBRARY_PATH其中 /path/to/libx264/lib 是包含 libx264.so 文件的目录路径。请注意,确保替换上述命令中的 /path/to/libx264 为你系统上 libx264 的实际路径。完成这些步骤后,再次运行 pkg-config 或者 ./configure,看看问题是否解决。3.5 ffmpeg: error while loading shared libraries: libavdevice.so.60: cannot open shared object file: No such file or directory// 首先查找 libavdevice.so.60sudo find / -name libavdevice.so.60//查找发现 path/usr/local/lib// 配置文件中是否存在,换行追加对应路径vim /etc/ld.so.conf// include ld.so.conf.d/*.conf// /usr/local/lib// wq!保存退出// 更新库配置sudo ldconfig
相关文章:
fedora 安装 ffmpeg 过程记录
参考博客:1. linux(centos)安装 ffmpeg,并添加 libx264库:https://blog.csdn.net/u013015301/article/details/140778199ffmpeg 执行时如添加参数 -vcodec libx264,会出现错误:Unknown encoder libx264’的错误,缺少li…...

【GPU驱动】OpenGLES图形管线渲染机制
OpenGLES图形管线渲染机制 OpenGL/ES 的渲染管线也是一个典型的图形流水线(Graphics Pipeline),包括多个阶段,每个阶段都负责对图形数据进行处理。管线的核心目标是将图形数据转换为最终的图像,这些图像可以显示在屏幕…...

Spring Boot项目@Cacheable注解的使用
Cacheable 是 Spring 框架中用于缓存的注解之一,它可以帮助你轻松地将方法的结果缓存起来,从而提高应用的性能。下面详细介绍如何使用 Cacheable 注解以及相关的配置和注意事项。 1. 基本用法 1.1 添加依赖 首先,确保你的项目中包含了 Spr…...

mac开发环境配置笔记
1. 终端配置 参考: Mac终端配置笔记-CSDN博客 2. 下载JDK 到 oracle官网 下载jdk: oracle官网 :Java Downloads | Oraclemac的芯片为Intel系列下载 x64版本的jdk;为Apple Mx系列使用 Arm64版本;oracle官网下载时报错:400 Bad R…...
重装CentOS YUM
1. 检查是否已安装 YUM 运行以下命令检查 YUM 是否已安装: yum list installed | grep yum 如果输出中包含 yum,则说明 YUM 已安装。 2. 卸载旧版本的 YUM(如有必要) 如果需要重新安装 YUM,可以先卸载旧版本&…...
对免认证服务提供apikey验证
一些服务不带认证,凡是可以访问到服务端口,都可以正常使用该服务,方便是方便,但是不够安全。 比如ollama默认安装后就是这样。现在据说网上扫一下端口11434,免apikey的ollama服务一大堆。。。 那我们怎样将本机安装的o…...

数据库驱动免费下载(Oracle、Mysql、达梦、Postgresql)
数据库驱动找起来好麻烦,我整理到了一起,需要的朋友免费下载:驱动下载 目前收录了Oracle、Mysql、达梦、Postgresql的数据库驱动的多个版本,后续可能会分享更多。...

OceanBase 初探学习历程之——安装部署
一、介绍 OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发 的项目。OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供 金融级高可用和线性伸缩能力,不依赖特定硬件…...

Windows 下免费开源的多格式文件差异对比工具
软件介绍 有这样一款诞生于 2000 年、专为 Windows 系统打造的开源免费工具,截至 2025 年 1 月已更新至 2.16.46 版本,它就是文件与文件夹比较的得力助手。 其支持文本文件、Word、Excel、PPT 网页、图像等多种格式对比,利用高亮显示行内差…...

Vue3+element UI:使用el-dialog时,对话框不出现解决方案
解决方案:在<el-dialog>标签中,添加:append-to-body“true”*,对话框即可弹出。*...

postman调用ollama的api
按照如下设置,不需要设置key 保持长会话的方法 # 首次请求 curl http://localhost:11434/api/generate -d {"model": "deepseek-r1:32b","prompt": "请永久记住:110,1-12,之后所有数学计算必…...
PyTorch的dataloader制作自定义数据集
PyTorch的dataloader是用于读取训练数据的工具,它可以自动将数据分割成小batch,并在训练过程中进行数据预处理。以下是制作PyTorch的dataloader的简单步骤: 导入必要的库 import torch from torch.utils.data import DataLoader, Dataset定…...

如何调用 DeepSeek API:详细教程与示例
目录 一、准备工作 二、DeepSeek API 调用步骤 1. 选择 API 端点 2. 构建 API 请求 3. 发送请求并处理响应 三、Python 示例:调用 DeepSeek API 1. 安装依赖 2. 编写代码 3. 运行代码 四、常见问题及解决方法 1. API 调用返回 401 错误 2. API 调用返回…...

Hadoop-HA集群部署
集群的服务器规划: 配置免密登陆:(这里示范的是第一台服务器,其余的操作一样),免密登陆是为了执行脚本统一操作,启动,如(hdfs集群:1上启动2.5.6.7)…...

三、linux字符驱动详解
在上一节完成NFS开发环境的搭建后,本节将探讨Linux字符设备驱动的开发。字符设备驱动作为Linux内核的重要组成部分,主要负责管理与字符设备(如串口、键盘等)的交互,并为用户空间程序提供统一的读写操作接口。 驱动代码…...

【Research Proposal】基于提示词方法的智能体工具调用研究——研究问题
博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯研究问题1. 如何优化提示词方法以提高智能体的工具调用能力?2. 如何解决提示词方法在多模态任务中的挑战?3. 如何通过提示词优化智能体…...

【从0做项目】Java文档搜索引擎(9)烧脑终章!
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 文章导读 零:项目结果展示 一:导入 二:问题引入 1:情…...

python: SQLAlchemy (ORM) Simple example using mysql in Ubuntu 24.04
mysql sql script: create table School 表 (SchoolId char(5) NOT NULL comment主鍵primary key,學校編號,SchoolName nvarchar(500) NOT NULL DEFAULT comment 學校名稱,SchoolTelNo varchar(8) NULL DEFAULT comment電話號碼,PRIMARY KEY (SchoolId) #主…...

如何为自己的 PDF 文件添加密码?在线加密 PDF 文件其实更简单
随着信息泄露和数据安全问题的日益突出,保护敏感信息变得尤为重要。加密 PDF 文件是一种有效的手段,可以确保只有授权用户才能访问或修改文档内容。本文将详细介绍如何使用 CleverPDF 在线工具为你的 PDF 文件添加密码保护,确保其安全性。 为…...

echarts 折线图动态基准线设置超出基准线标红
基准线属性:markLine 线条标红关键属性:visualMap 小于: lt (less than) 大于:gt (greater than) 小于等于:lte (Less than or equal to) 大于等于:gte (Greater than or equal to) 1、基础应用——2条基准…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...

Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...