【ffmpeg基础】ffmpeg的下载安装

2023-11-11

一、ffmpeg的下载

1、ffmpeg github下载路径:https://github.com/FFmpeg/FFmpeg.git 在ffmpeg的github上可以下载任意版本的源码,比如最新的matser上的源码,以及各个分支上(如ffmpeg的5.1版本)的源码,如下图。

2、ffmpeg官方网站:https://www.ffmpeg.org/ ;在官方网站内也可以下载ffmpeg的源码以及ffmpeg编译好的库文件;官方网站首页如下图;点击下图绿色按键"Download"可以进入ffmpeg的下载页面;在官方网站首页的左侧有几个子目录,其中包含下载目录Download和使用帮助文档目录Documentation。

在点击Download后可以进入ffmpeg的下载页面,如下图;通过点击Download Source Code 就可以下载最新的ffmpeg源代码;也可以下载Linux/Windows/MacOS这三种平台下ffmpeg的可执行程序和lib库文件,如下图红色框。

二、ffmpeg的安装

1. mac通过命令行安装ffmpeg

brew install ffmpeg

安装完成后mac系统中就会有ffmpeg、ffprobe、ffplay这三个工具ffmpeg是音视频处理的工具,ffprobe是音视频信息查看的工具,ffplay是音视频播放的工具。在命令行中可以通过 ffmpeg -version来查看ffmpeg的信息,如下图,红色框是ffmpeg的配置选项,其中--enable-libx264 --enable-libx265表示使能第三方编码器,即可以使用libx264编码h264视频,可以使用libx265编码h265视频。

2. ffmpeg通过源码编译安装

命令行安装(ffmpeg官方编译好的)的ffmpeg工具里面支持的功能是官方配置好的,可能和实际上我们的期望不一样,比如ffmpeg默认配置是不支持libfdk-aac这个编码器的,如果我们想使用libfdk-aac来编码aac音频就需要自己重新配置ffmpeg和重新编译;在或者我们不需要很多的功能就是希望视频编码,那么其他的功能可以去掉来节省ffmpeg的内存占用,那么我们也就可以重新配置编译ffmpeg去掉不需要的功能。ffmpeg的配置如下,配置中使能了libx264、libx265和libfdk-aac编码器。

#!/bin/bash
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
PWD=/usr/local
./configure \
--pkg-config-flags=--static \
--enable-version3 \
--enable-nonfree \
--enable-libfdk-aac \
--extra-libs="-lx265 -lx264" \
--enable-libx264 \
--enable-libx265 \
--enable-gpl \
--extra-ldflags=-L${PWD}/lib \
--prefix=${PWD} \
--extra-cflags="-I${PWD}/include" \
--enable-debug \
--disable-stripping 

配置ffmpeg之后在ffmpeg的根目录下执行如下命令,就可以编译出ffmpeg、ffprobe、ffplay工具。

make --j8 //-j8是8线程/核心并行编译可以加快编译速度
make install

编译完成后可以在根目录中看到编译生成的工具,如下图;其中xxx_g的是debug的版本,可以运行调试。

可以看出支持了libfdk-aac和libx264和libx265。

另外需要注意的是,如果编译安装ffmpeg启用了libx264/libx265或者fdk-aac则需要在系统中安装好libx264/libx265以及fdk-aac的库,否则可能提示找不到对应的库。

3. linux平台的ffmpeg安装

在linux(Ubuntu)平台上可以通过命令行sudo apt install FFmpeg 来安装ffmpeg(注意linux不同系统下载的指令可能不同,Ubuntu采用apt,CentOS采用yum/dnf)。此外可以如第一节所讲可以在ffmpeg官方网站下载编译好的ffmpeg就可以直接拿来用,如下如图,点击红色框。

进入下载页面,如下图,左侧是主干编译的版本,右侧是relesase最新5.1.1分支的编译版本;根据自己的处理器选择下载。

下载ffmpeg-5.1.1-i686-static的版本,解压后可以看到里面有ffmpeg和ffprobe。

通过ffmpeg -version可以查看编译后的ffmpeg信息,如下图。

linux下的ffmpeg的配置和编译和mac系统下的配置一样,按照mac系统下ffmpeg编译方法即可。

4. windows平台下的ffmpeg安装

windows平台下可以通过命令行下载ffmpeg;可以使用MSYS2/MSYS2 MINGW64来下载,如下所示。

pacman -S mingw-w64-x86_64-ffmpeg

如果需要libx264、libx265、libfdk-aac则需要下载相应的库,下载命令如下:

pacman -S mingw-w64-x86_64-fdk-aac //下载libfdk-aac
pacman -S mingw-w64-x86_64-x264 //下载libx264
pacman -S mingw-w64-x86_64-x265 //下载libx265

ffmpeg下载安装完成后可以通过ffmpeg.exe -version可以查看编译后的ffmpeg信息,如下图。

此外可以如第一节所讲可以在ffmpeg官方网站下载编译好的ffmpeg就可以直接拿来用,如下如图,点击红色框。

点击Windows builds by BtbN进入下载页面,如下图,绿色框是windows的ffmpeg工具包。ffmpeg-master-latest-win64-gpl-shared这个里面包含了ffmpeg的lib文件,可以进行ffmpeg的二次开发,ffmpeg-master-latest-win64-gpl只包含了ffmpeg的工具。

下载ffmpeg-master-latest-win64-gpl,解压后在windows自己的cmd终端或者MSYS2运行bin文件下载的ffmpeg.exe -version查看ffmpeg的信息如下图。

三、ffmpeg的使用说明文档

在ffmpeg的官方网站种包含了ffmpeg的说明文档https://www.ffmpeg.org/documentation.html,如下图,右侧红色框是ffmpeg的各个功能的说明,如

  • Filters(音视频滤波器的说明)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【ffmpeg基础】ffmpeg的下载安装 的相关文章

随机推荐

  • [Android] Toast问题深度剖析(二)

    欢迎大家前往云 社区 获取更多腾讯海量技术实践干货哦 作者 QQ音乐技术团队 题记 Toast 作为 Android 系统中最常用的类之一 由于其方便的api设计和简洁的交互体验 被我们所广泛采用 但是 伴随着我们开发的深入 Toast 的
  • ORA-00936: missing expression

    关注微信公共号 小程在线 关注CSDN博客 程志伟的博客 造成这个错误的原因是 选取的最后一个字段与from之间有逗号 解决方法 将字段与from之间的逗号去掉
  • Spring MVC使用JSON的过程与步骤

    活动地址 CSDN21天学习挑战赛 目录 JSON数据交互 RESTful支持 JSON数据交互 1 用eclipse创建一个动态web项目 将项目依赖的jar包放到lib目录下 2 在WEB INF目录下创建web xml 对Spring
  • 关于JPEG的那点事儿:JPEG原理篇

    前言 本文其实于差不多正好1年前写成 是关于JPEG的那点事儿的补充 但是由于实战篇一直烂尾 拖到现在 前几天看到Google发了个JPEG新算法 说是可以将JPEG的体积同质量情况下再压缩35 突然想起了这文了 为了说清楚Google为什
  • python题目55:单词接龙

    单词接龙的规则是 可用于接龙的单词首字母必须要与前一个单词的尾字母相同 当存在多个首字母相同的单词时 取长度最长的单词 如果长度也相等则取词典序最小的单词 已经参与接龙的单词不能重复使用 现给定一组全部由小写字母组成的单词数组 并指定其中的
  • 勿以专家自居

    对于权威 我心存芥蒂 我在 StrongOpinions Weakly Held 观点鲜明 但不固执己见 一文中曾经说过 当我了解到别人把我视为专家或者权威 而不是像伙伴一样的志趣相投者时 我就会觉得非常困扰 如果非要说我在迄今为止的职业生
  • PCL学习之点云可视化:坐标字段、随机、单一颜色、法向量

    pcl中几种常见的点云渲染方式 1 颜色区别深度 此方法在PointCloudColorHandlerGenericField类中实现 该将不同的深度值显示为不同的颜色 实现以颜色区分深度的目的 PointCloudColorHandler
  • TCP/IP校验和计算算法

    ICMP IP UDP TCP报头部分都有checksum 检验和 字段 ICMP和IP报头校验和的计算都很简单 过程如下 1 把校验和字段置为0 2 对IP头部中的每16bit进行二进制求和 3 如果和的高16bit不为0 则将和的高16
  • ubuntu16.04\18.04安装Azure Kinect SDK+配置ros版 超全详细踩坑记录

    一些参考 1 官网教程Azure Kinect Sensor SDK 官网教程Azure Kinect ROS Driver 2 Azure Kinect SDK Ubuntu 16 04 18 04安装配置方法 3 ubuntu16 04
  • 无监督学习分类

    把输入数据看成一个行 m 为特征 列 N 为样本的矩阵 则从数据角度 可以将无监督学习分为三类 将数据按列划分 即将相似的样本聚到同类 即对数据进行聚类 代表算法k means 层次聚类 将数据按行划分 把高维空间的向量转化到低维空间的向量
  • 《吃透 MQ 系列》之Kafka精妙的高性能设计(下篇)

    在 上一篇文章 中 指出了高性能设计的两个关键维度 计算和 IO 可以将它们理解成 道 同时给出了 Kafka 高性能设计的全景图 可以理解成 术 图 1 Kafka 高性能设计的全景图 这篇文章将继续对存储消息和消费消息的 8 条高性能设
  • 基于C语言的栈

    基于王道数据结构 include
  • 开源静态代码检测工具Splint

    如果想用一个有效的工具察看C C 源代码中的错误 遗漏 不确定的构建过程 以及移植问题等等 你应该来看看Lint 可以把Lint当成一个编译器 除了不产生代码之外 对于错误和警告的报告来说已经非常足够了 通常 一个C C 的编译器假设程序是
  • Java实现人脸登录、注册等功能【完整版】

    推荐 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 前言 这段时间由于学校实行静态化管理 寝室门和校门都是用了人脸识别的装置 每次经过都会激发我的好奇心 也想自己搞一个人脸识别玩玩 随着开
  • python机器学习 transform,fit_transform

    首先使用transfer StandardScaler 来实例化一个转换器 我们要对训练集和测试集进行相同的归一化 标准化处理 先处理训练集 x train transfer fit transform x train fit transf
  • 【纯干货】学python的,这些能快速月入过万的兼职途径,你不会还不知道吧

    我想辞职 在这个疫情当下的时代 许多打工人都有过这么一个想法 或许是因为工作待遇 亦或许是其他原因 但是却仍然屹立在工位上 有的甚至天天喊辞职 月月拿满勤 这是为什么呢 因为他们虽然无数次筹谋辞职 却也无数次的担心裸辞之后的压力 而作为平平
  • Hyper Terminal 配置体验分享

    Hyper Terminal 简介 Hyper is an Electron based terminal Built on HTML CSS JS Fully extensible 以上内容来自Hyper Terminal官网对该终端的介
  • 基于卷积神经网络-门控循环单元(CNN-GRU)多输入多输出预测,CNN-GRU回归预测。

    清空环境变量 warning off 关闭报警信息 close all 关闭开启的图窗 clear 清空变量 clc 清空命令行 导入数据 res xlsread 数据 xlsx 数据分析 num size 0 8 训练集占数据集比例 ou
  • vue解决弹出图片显示在弹框下方

    弹出的图片显示在弹框下面怎么办 问题来源 问题分析 解决方法 问题来源 在写前端vue项目时 在用到ele的 el image 这个组件时 有时会出现图片显示在弹框即dialog下面 后面发现是因为el image组件 默认的z index
  • 【ffmpeg基础】ffmpeg的下载安装

    一 ffmpeg的下载 1 ffmpeg github下载路径 https github com FFmpeg FFmpeg git 在ffmpeg的github上可以下载任意版本的源码 比如最新的matser上的源码 以及各个分支上 如f