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条基准…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
在 Spring Boot 中使用 JSP
jsp? 好多年没用了。重新整一下 还费了点时间,记录一下。 项目结构: pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
