Ubuntu22.04安装ffmpeg(v7.0)

需下载文件:ffmpeg-7.0.tar.gz

安装步骤

1. 创建目录

mkdir -p /ffmpeg && cd ffmpeg

2. 下载文件

wget https://ffmpeg.org/releases/ffmpeg-7.0.tar.gz

3. 解压

tar -zxvf ffmpeg-7.0.tar.gz && cd ffmpeg-7.0

4. 安装环境依赖

官网说明:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

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

Ubuntu 20.04需额外安装以下环境
sudo apt install libunistring-dev libaom-dev libdav1d-dev


5. 编译安装

推荐编译(二选一)

./configure --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-libx264 --enable-libx265

完整编译(二选一)
参数较多,编译后安装体积较大,请根据下文含义按需删减后再编译

./configure --enable-shared \--enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig \--enable-gnutls --enable-iconv --enable-libass --enable-libbluray \--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb \--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr \--enable-libtheora --enable-libtwolame --enable-libvpx \--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 \--enable-libxml2 --enable-lzma --enable-zlib --enable-gmp \--enable-libvorbis --enable-libvo-amrwbenc --enable-libspeex \--enable-libxvid --enable-libaom --enable-avisynth --enable-libopenmpt \--enable-libfdk-aac --enable-nonfree

参数解释
编译特性与库支持:

  • --enable-shared: 生成共享库(.so 文件),使FFmpeg库能在多个应用程序间共享。
  • --enable-gpl: 启用使用GNU General Public License (GPL)兼容的组件,允许使用某些可能受GPL约束的编码器或解码器。
  • --enable-version3: 指定启用FFmpeg项目版本3的特性和API。

多媒体框架与图形支持:

  • --enable-sdl2: 启用Simple DirectMedia Layer (SDL)库支持,可能用于FFmpeg的某些工具或测试。
  • --enable-fontconfig: 支持字体配置系统,便于处理字幕和图形中的文字。
  • --enable-gnutls: 启用GnuTLS库支持,用于实现安全的网络传输(如HTTPS)。

编码与解码库:

  • --enable-libass: 支持ASS/SSA字幕格式。
  • --enable-libbluray: 支持Blu-ray Discs的处理。
  • --enable-libmp3lame: 支持LAME MP3编码。
  • --enable-libopencore-amrnb, --enable-libopencore-amrwb: 支持AMR-NB和AMR-WB音频编码/解码。
  • --enable-libopus: 支持Opus音频编码/解码。
  • --enable-libshine: 支持Shine MP3音频编码。
  • --enable-libsnappy: 支持Snappy视频压缩算法。
  • --enable-libsoxr: 支持高质量音频重采样。
  • --enable-libtheora: 支持Theora视频编码/解码。
  • --enable-libtwolame: 支持TwoLAME MP2音频编码。
  • --enable-libvpx: 支持VP8/VP9视频编码/解码。
  • --enable-libwavpack: 支持WavPack音频压缩。
  • --enable-libwebp: 支持WebP图像编码/解码。
  • --enable-libx264, --enable-libx265: 支持H.264和H.265视频编码。
  • --enable-libxvid: 支持Xvid MPEG-4 Part 2视频编码。
  • --enable-libaom: 支持AV1视频编码/解码。
  • --enable-libopenmpt: 支持OpenMPT模块音乐播放。
  • --enable-libfdk-aac: 支持FDK AAC音频编码。
  • --enable-nonfree: 允许使用非自由(专有)软件组件。

其他依赖与功能:

  • --enable-libvorbis: 支持Vorbis音频编码/解码。
  • --enable-libvo-amrwbenc: 支持AMR-WB音频编码。
  • --enable-libspeex: 支持Speex音频编码/解码。
  • --enable-libxml2: 支持XML解析,可能用于处理元数据或字幕。
  • --enable-lzma: 支持LZMA压缩算法。
  • --enable-zlib: 支持Zlib压缩算法。
  • --enable-gmp: 支持GNU Multiple Precision Arithmetic Library,可能用于加密或数学运算。

安装

make -j 4 && make install

测试

ffmpeg --version

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

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

相关文章

练习题(2024/4/11)

1每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入…

Leetcode刷题之消失的数字(C语言版)

Leetcode刷题之消失的数字(C语言版) 一、题目描述二、题目解析 一、题目描述 数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗? 注意:本题相对书上原题稍作…

STM32 文档整理

//***********************************************************************************************************// 英文缩写名称NVIC嵌套向量中断控制器SysTick系统滴答定时器RCC复位和时钟控制GPIO通用IO口AFIO复用IO口EXTI外部中断TIM定时器ADC模数转换器DMA直接内存访…

Java中实现监听UDP协议的指定端口并收到数据按照十六进制输出

场景 对接协议中需要监听UDP协议的指定端口并监听数据,且数据格式为十六进制。 如果是在linux服务上,可以快速通过C或者python脚本等方式实现。 这里使用Java代码实现,可便于后续做其他存储数据等的扩展,且只需要在服务器上安装…

华为OD七日集训第6期 - 按算法分类,由易到难,循序渐进,玩转OD

目录 一、适合人群二、本期训练时间三、如何参加四、七日集训第 6 期五、精心挑选21道高频经典题目,作为入门。第1天、逻辑分析第2天、双指针第3天、滑动窗口第4天、二叉树第5天、矩阵第6天、分治递归第7天、深度优先搜索 大家好,我是哪吒。 最近一直在…

《安静的力量》探寻自我的心灵之旅,找到内心的宁静和真正的幸福 - 三余书屋 3ysw.net

安静的力量:通往止境的冒险 大家好,今天我们要解读的书籍是《安静的力量》。让我们先设想一个画面:在纽约曼哈顿,紧邻繁华的时代广场,一位29岁的青年在他的公寓里工作。这里毗邻纽约最富有人群的聚居区,而…

Windows Edge 兼容性问题修复:提升用户体验的关键步骤

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

如何设置MySQL的IP白名单

当我们谈论设置MySQL数据库的IP白名单时,我们通常是在指定哪些IP地址被允许连接到数据库服务器。这是一种安全措施,可确保只有受信任的主机可以访问数据库。以下是一个分步指南,以及如何设置MySQL的IP白名单的说明。 步骤1: 登录到MySQL服务…

Django框架的基础知识

Django(英文发音:dʒŋgəʊ)是一个开放源代码的Web应用框架,使用高性能的Python语言编写而成。Django框架的诞生,最初是用来开发和管理Lawrence Publishing Group(劳伦斯出版集团)旗下的新闻网…

【vscode】在本地加载远端环境并开发

【vscode】在本地利用远程服务器显卡跑代码 写在最前面vscode:远程到本地1、安装ssh插件2、添加服务器连接配置3、连接服务器4. SSH配置5. 在ssh中安装python解释器 vscode基本操作 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光…

JS搜索关键字匹配变色

使用场景:用户通过搜索关健字(keyword),对文本进行匹配,并对匹配到的文本进行一些高亮处理 解析:使用的是JavaScript中的 RegExp(正则表达式)对象,var regExp new RegExp(keyword,…

银河麒麟操作系统修改dns(唯一一篇可以解决DNS生效问题)

背景: Kylin V10 SP1 系统修改dns 1.修改/etc/resolv.conf 临时生效,不满足生产要求 2.修改/etc/network/interface 不生效 3.修改/etc/systemd/resolved.conf,遇到问题,最终解决永久修改DNS 系统版本: root@node01:~# cat /etc/issue Kylin V10 SP1 \n \l 一、如何在…

BLIP 算法阅读记录---一个许多多模态大语言模型的基本组件

论文地址:😈 目录 一、环境配置以及数据集准备 数据集准备 数据集格式展示 环境配置,按照官网所述即可 二、一些调整 vit_base的预训练模型 远程debug的设置 Tokenizer初始化失败 读入网络图片的调整 三、训练过程 Image Encoder …

FebHost:英国.UK域名注册使用中存在哪些侵权行为?

截至2023年6月,英国.uk域名作为全球第五大热门顶级域名,注册数量超过1100万,成为全球最知名和广泛使用的域名之一。英国域名家族包括四个独特的域名后缀——.uk、.co.uk、.org.uk 和 .me.uk——每个都有其独特的特点,并根据数字领…

Mac下用adb命令安装apk到android设备笔记

查询了些资料记录备用。以下是在Mac上使用命令行安装APK文件的步骤: 1. 下载并安装ADB: 如果您的Mac上没有安装ADB,请从官方的Android开发者网站下载Android SDK Platform Tools:Android SDK Platform Tools。将下载的ZIP文件解…

python使用Flask框架开发API

Flask是一个基于Python的轻量级Web应用程序框架。 安装依赖库 pip install flask pip install werkzeug 上传接口 Python from flask import Flask, request from werkzeug.utils import secure_filenameapp Flask(__name__)app.route(/upload, methods[POST]) def uploa…

三次 Bspline(B样条曲线) NURBS曲线的绘制 matlab

先来了解几个概念: 1.1 节点向量: B-Spline需要定义曲线的节点向量U,它可以对应到Bezier曲线的参数u。 其元素个数 (m1) 和曲线阶数 k 、控制点个数n满足:m1k1n1 如果U的每段的距离是相等,那么这个B-Spline就被称为均…

关于UCG游戏平台的一些思考

UCG游戏平台,全称User Generated Content,即用户生成内容。它涵盖了所有玩家可以自主编辑的部分,包含并不限于换装、捏脸、关卡摆放等内容。 UCG概念在最近又火了起来,但这个模式出现的并不早。早在10多年前,war3编辑器…

Qt事件处理机制1-事件过滤器

事件在到达某个具体的对象前,可以通过事件过滤器进行筛选处理,函数定义如下: virtual bool eventFilter(QObject *watched, QEvent *event);Qt帮助文档: Filters events if this object has been installed as an event filter for the watc…

记录kafka-flink-kafka的end-to-end的exactly-once语义

记录kafka-flink-kafka的end-to-end的exactly-once语义 步骤代码 步骤 开启checkpoint、stateBackend的设置和checkpoint配置设置kafka source的配置读取kafka source message随意的transformation;并打印结果kafka sink端的配置输出到kafka sink端执行 代码 pac…