音视频: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.hqwc.cn/news/284240.html

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

相关文章

思码逸企业版 4.0 特性之一:支持 DevOps 全工具链数据分析

《研发效能实践指南》中有一句话“数据驱动不是万能的,没有数据驱动是万万不能的”,数据对于研发效能管理的重要性可见一斑。所以很多团队在做研发效能度量时都在利用各种工具收集、分析着各种数据。 作为一站式研发效能度量平台,思码逸优先…

【Unity动画】综合案例完结-控制角色动作播放+声音配套

这个案例实现的动作并不复杂,主要包含一个 跳跃动作、攻击动作、还有一个包含三个动画状态的动画混合树。然后设置三个参数来控制切换。 状态机结构如下: 完整代码 using System.Collections; using System.Collections.Generic; using UnityEngine;pu…

Leetcode—1523.在区间范围内统计奇数数目【简单】

2023每日刷题&#xff08;六十三&#xff09; Leetcode—1523.在区间范围内统计奇数数目 实现代码 class Solution { public:int countOdds(int low, int high) {int cnt 0;int l low, r high;while(l < r) {if(l % 2) {break;}l;}while(r > low) {if(r % 2) {break…

【算法Hot100系列】盛最多水的容器

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

基于JAVA+SpringBoot+Vue的前后端分离的大学健康档案管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着社会的发展和科技…

低代码开发如何快速构建AI应用

随着人工智能&#xff08;AI&#xff09;的快速发展&#xff0c;越来越多的企业和开发者开始意识到AI在业务和应用中的重要性。然而&#xff0c;AI应用的开发通常被认为是复杂和耗时的过程&#xff0c;需要大量的编码和数据科学知识。为了解决这个问题&#xff0c;低代码开发平…

中通快递单号查询入口,删除不需要的单号

批量查询中通快递单号的物流信息&#xff0c;并删除不需要的单号。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;第一次使用的伙伴记得先注册&#xff0c;然后登录…

【数据结构】八大排序之堆排序算法

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.堆排序简介及思路 二.堆排序的代码实现 三.堆排序的时间复杂度分析 结语 一.堆排序简介及思路 堆排序(Heap Sort)是一种效率较高的选择排序算法. 它是指利用堆积树…

Java接收并解析HL7协议数据

一、前言 HL7协议相信医疗行业的IT人员都不陌生&#xff0c;笔者由于接触时间比较短&#xff0c;乍一听“协议”还是比较懵&#xff0c;不自觉就把它和“HTTP”、"SOAP”之类的网络协议挂上关联&#xff0c;可事实上这个HL7只是一种数据格式&#xff0c;传输方式也可以使用…

【运维笔记】mvware centos挂载共享文件夹

安装mvware-tools 这里用的centos安装 yum install open-vm-tools 设置共享文件夹 依次点击&#xff1a;选项-共享文件夹-总是启用-添加&#xff0c;安装添加向导操作添加自己想共享的文件夹后。成功后即可在文件夹栏看到自己共享的文件夹 挂载文件夹 临时挂载 启动虚拟机&…

OA、CRM、ERP之间的区别和联系是什么?

OA、CRM、ERP之间的区别和联系是什么&#xff1f; OA、CRM、ERP&#xff0c;这些系统都是用于提高企业运营效率和管理的工具&#xff0c;它们可能在某些功能上有重叠&#xff0c;比如 CRM 和 ERP 可能都涉及到客户数据管理&#xff0c;但它们的重点和功能侧重点是不同的。 我们…

SCC-Tarjan算法,强连通分量算法,从dfs到Tarjan详解

文章目录 前言定义强连通强连通分量 Tarjan算法原理及实现概念引入搜索树有向边的分类强连通分量的根时间戳追溯值 算法原理从深搜到TarjanTarjan算法流程Tarjan算法代码实现 OJ练习&#xff1a; 前言 强连通分量是图论中的一个重要概念&#xff0c;它在许多领域都有广泛的应用…