音视频:Ubuntu下安装 FFmpeg 5.0.X

1.安装相关依赖

首可选一: 

sudo apt-get update
sudo apt-get install build-essential autoconf automake libtool pkg-config \libavcodec-dev libavformat-dev libavutil-dev \libswscale-dev libresample-dev libavdevice-dev \libopus-dev libvpx-dev libx264-dev libx265-dev \yasm wget vim 

 可选二:

sudo apt-get update
sudo apt-get install -y \autoconf \automake \build-essential \cmake \git-core \libass-dev \libfreetype6-dev \libsdl2-dev \libtool \libva-dev \libvdpau-dev \libvorbis-dev \libxcb1-dev \libxcb-shm0-dev \libxcb-xfixes0-dev \pkg-config \texinfo \wget \zlib1g-dev

2. 编译安装FFmpeg

创建 ffmpeg 安装包文件路径 :

cd ~
mkdir ffmpeg
cd ffmpeg

下载安装包:

wget https://ffmpeg.org/releases/ffmpeg-5.0.2.tar.bz2

解压并打开:

tar xjvf ffmpeg-5.0.2.tar.bz2
cd ffmpeg-5.0.2

 配置并安装:

./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static \--enable-gpl --enable-libx264 --enable-libx265 --enable-libopus --enable-libvpx

.configure 成功则显示:

make -j2 && sudo make install

make 则显示:注make -j 后面根据自己系统选择 -j (number) ,l来提高编译速度!

如果 ffmpeg 命令后可能出现 下面情况,说明需要配置环境变量!

3. 配置环境变量

1、修改环境变量

将ffmpeg的绝对路径添加到PATH环境变量中,以让系统能找到ffmpeg的安装路径

vim ~/.bashrc  # 打开系统环境变量配置文件

在文件中添以下内容:

export PATH="/usr/local/ffmpeg/bin:${PATH}"
export LD_LIBRARY_PATH="/usr/local/ffmpeg/lib:{LD_LIBRARY_PATH}"

接着需要让配置的环境应用

sudo source ~/.bashrc

然后终端命令输入命令 ffmpeg:可以看见安装的FFmpeg 版本信息,则显示成功!

在/usr/local/ffmpeg路径下可以看见成功安装后FFmpeg的 库

4.额外补充问题点

注意:如果有如下情况,对应查找进行配置!(额外补充的解决方法!)

安装之后在/usr/local/ffmpeg/bin 下执行ffmpeg时可能会报错,这是因为找不到共享文件路径

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

命令行使用“ffmpeg -h”命令检测ffmpeg安装情况时,可能会出现以下内容:

error while loading shared libraries: libavdevice.so.58: can not open shared object file or directory

这是由于系统找不到ffmpeg的共享库所致。因此,可在“/etc/ld.so.conf.d/”路径下创建文件“ffmpeg.conf”文件,在该文件中写入“/usr/local/ffmpeg/lib”

这个时候修改/etc/ld.so.conf文件,添加/usr/local/ffmpeg/lib, 路径编译时prefix的路径下的lib,然后执行

vim /etc/ld.so.conf.d/ffmpeg.conf   # 编辑文件,添加内容“/usr/local/ffmpeg/lib”后保存退出
cat /etc/ld.so.conf.d/ffmpeg.conf   # 查看ffmpeg.conf中的内容
sudo ldconfig        # 执行ldconfig命令,使/etc/ld.so.conf.d/目录下新加入的配置信息生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Html基础与表单案例

<!DOCTYPE html> <html> <head> <meta charset"UTF-8" /> <title>Html</title> </head> <body> <!-- HTML的定义&#xff1a;HTML是超文本标记语言 超文本就是链接&#xff0c;标记也叫标签&#xff0c;带尖…

将yolo格式转化为voc格式:txt转xml(亲测有效)

1.文件目录如下所示&#xff1a; 对以上目录的解释&#xff1a; 1.dataset下面的image文件夹&#xff1a;里面装的是数据集的原图片 2.dataset下面的label文件夹&#xff1a;里面装的是图片对应得yolo格式标签 3.dataset下面的Annotations文件夹&#xff1a;这是一个空文件夹&…

如何在使用Docker快速部署StackEdit并实现公网访问本地编辑器远程办公

文章目录 1. docker部署Stackedit2. 本地访问3. Linux 安装cpolar4. 配置Stackedit公网访问地址5. 公网远程访问Stackedit6. 固定Stackedit公网地址 StackEdit是一个受欢迎的Markdown编辑器&#xff0c;在GitHub上拥有20.7k Star&#xff01;&#xff0c;它支持将Markdown笔记保…

如何在Linux命令行下发送和接收UDP数据包

众所周知,在传输层有两个常用的协议 TCP 和 UDP,本文介绍在 Linux 命令行下,如何使用 nc 命令发送或接收 UDP 数据包,这些命令的用法对调试 UDP 通信程序将有所帮助,本文适合初学者阅读。 1. 问题的提出 编写了一个使用 raw socket 在数据链路层接收原始 UDP 数据包的程序…

Leetcode 2968. Apply Operations to Maximize Frequency Score

Leetcode 2968. Apply Operations to Maximize Frequency Score 1. 解题思路2. 代码实现 题目链接&#xff1a;2968. Apply Operations to Maximize Frequency Score 1. 解题思路 这题说来惭愧&#xff0c;一开始自己没有搞定&#xff0c;不过看了大佬们的解答之后发现多少有…

本地声明式缓存

SpringBootCaffeineRedis声明式缓存 最近接到一个项目&#xff0c;里面同时整合了Caffeine和Redis。 对于像验证码&#xff0c;或者对用户操作做一些限制的缓存&#xff0c;还有分布式锁等等操作就利用redis来缓存&#xff0c; 对于一些热点数据&#xff0c;为了降低数据库查…

Java语言真的跌落神坛了吗?

Java语言真的跌落神坛了吗&#xff1f; 在开始前我有一些资料&#xff0c;是我根据自己从业十年经验&#xff0c;熬夜搞了几个通宵&#xff0c;精心整理了一份「 Java的资料从专业入门到高级教程工具包」&#xff0c;点个关注&#xff0c;全部无偿共享给大家&#xff01;&#…

居民建筑能耗现状以及节能降耗方向

1我国居住建筑能耗统计情况 我国民用建筑能耗统计工作起步较晚。为了解和掌握民用建筑能源消耗情况&#xff0c;2007年住房和城乡建设部发布了《民用建筑能耗统计报表制度》(试行)[建科函(2007)271号]&#xff0c;自此我国民用建筑能耗统计工作正式展开&#xff0c;而城镇居住…

新增数据,某个字段的值总是保存不上问题解决

在系统中新增一条数据&#xff0c;某个字段的数据总是保存不上&#xff0c;但是没有报任何异常和错误&#xff0c;其他字段也都是正常的&#xff0c;通过抓包分析请求参数发现那个字段的值也没有传给后端&#xff0c;检查了前后端代码也没有排查到问题。百思不得其解&#xff0…

【算法与数据结构】455、LeetCode分发饼干

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;因为大饼干可以满足大胃口的孩子也必然可以满足小胃口的孩子&#xff0c;如果要尽可能的满足孩子的胃口…

Git的rebase和merge合并代码的区别

引言 Git的中rebase和merge都可以合并代码&#xff0c;那他们有什么相同和不同呢&#xff1f;本文来一次说清楚、说明白。 首先Git中的rebase和merge都是用于合并代码的方式&#xff0c;但它们有不同的工作原理和影响。 Merge&#xff08;合并&#xff09; 合并&#xff08;…

【智慧之窗】AI驱动产品探索

一.初识 ChatGPT ChatGPT 是由 OpenAI 开发的自然语言处理&#xff08;NLP&#xff09;模型&#xff0c;基于 GPT&#xff08;Generative Pre-trained Transformer&#xff09;架构。GPT 系列的模型旨在理解和生成自然语言文本。ChatGPT 专注于支持对话性任务&#xff0c;即与…

java的json解析

import com.alibaba.fastjson.*; public class JsonParser { public static void main(String[] args) { String jsonStr "{\"name\":\"John\", \"age\":30}"; // JSON字符串示例 // 将JSON字符串转换为JSONObject对象 JSONObje…

想做新程序员?马上用 GPT-4 编程,一切我们都替你搞好了!

// 打不过就加入。与其担心被 GPT-4 取代&#xff0c;不如现在就学习驾驭它。 &#xff08;GPT-3.5 和其他模型都不用怕&#xff0c;它们都不行&#xff0c;谁用谁知道……除了 Claude 我们还在测试中&#xff09; 文末有一键加入方法&#xff0c;国内用户也能无障碍使用—…

Ubuntu 20.04 prometheus prometheus-process-exporter

prometheus-process-exporter 监控系统架构方案 https://blog.csdn.net/weixin_45801289/article/details/126922395 sudo apt install prometheus-process-exporter prometheus-process-exporter_0.4.0ds-1_amd64.deb service prometheus-process-exporter status netstat …

中国一重集中采购平台的建设经历和系统亮点

中国一重前身为第一重型机器厂&#xff0c;是“一五”期间建设156项重点工程项目之一&#xff0c;始建于1954年&#xff0c;是中央管理的涉及国家安全和国民经济命脉的国有重要骨干企业之一&#xff0c;是国家创新型试点企业、国家高新技术企业&#xff0c;拥有国家级企业技术中…

大语言模型--数据

数据 大语言模型 数据WebText和OpenWebText数据集Colossal Clean Crawled Corpus&#xff08;C4&#xff09;Benchmark的数据污染问题GPT-3的数据集The Pile数据集 WebText和OpenWebText数据集 WebText数据集被用于训练GPT-2模型。其目标是获取既多样化又高质量的数据集。以前…

漏洞复现-iDocview doc/upload接口存在任意文件读取漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

SpringSecurity源码学习六:授权

目录 1. 用户权限2. 资源权限2.1 自定义资源权限2.2 权限注解2.2.1 默认注解2.2.2 自定义注解2.2.3 注解初始化和保存 3. 代码示例4. 源码解析4.1 投票器4.1.1 投票器不同实现类的含义4.1.2 默认投票器WebExpressionVoter 5. 总结 SpringSecurity的授权是依赖于过滤器FilterSec…