FFmpeg:详细安装教程与环境配置指南
FFmpeg 部署完整教程
在本篇博客中,我们将详细介绍如何下载并安装 FFmpeg,并将其添加到系统的环境变量中,以便在终端或命令行工具中直接调用。无论你是新手还是有一定基础的用户,这篇教程都能帮助你轻松完成 FFmpeg 的部署。
一、什么是 FFmpeg?
1.1 FFmpeg 简介
FFmpeg 是一款开源的多媒体处理工具,可以高效地处理视频、音频、图片等文件格式。它支持格式转换、视频剪辑、抽帧等多种功能,是开发和多媒体处理的必备工具。
在本教程中,我们需要使用 FFmpeg 将视频文件转换为图像序列(抽帧),为后续使用 COLMAP 进行三维点云重建提供多视角图像。
1.2 为什么需要 FFmpeg?
- 视频抽帧:从视频中提取静态帧作为图像输入。
- 格式转换:支持多种视频/音频格式的转换,兼容性强。
- 高效处理:速度快且资源占用低。
二、FFmpeg 安装与配置
2.1 下载 FFmpeg 安装包
-
进入官方页面
打开浏览器,访问 FFmpeg Builds 下载页面。这是 FFmpeg 的官方编译版本页面,提供了适合不同用户的可执行文件。 -
选择安装包
下载如下图所示的 Essentials Build 版本,它包含 FFmpeg 的核心功能,足够满足日常需求:

下载地址:ffmpeg-git-essentials.7z
-
文件下载路径
将下载的安装包保存到本地电脑的指定位置,例如:E:\colmap\(你可以选择任何位置,但建议创建一个易于管理的文件夹,例如
colmap。)
2.2 添加 FFmpeg 到环境变量
为了在终端或命令行中方便地调用 FFmpeg,我们需要将其添加到系统环境变量中。以下是具体步骤:

-
找到 FFmpeg 的
bin文件夹路径
下载解压后,进入ffmpeg-<版本号>-essentials_build\bin文件夹,复制该文件夹路径。例如:E:\colmap\ffmpeg-7.0-essentials_build\bin -
打开系统环境变量设置
- 点击任务栏的“搜索”图标(或按
Win键后搜索框中输入)。 - 搜索 环境变量,选择 “编辑系统环境变量”。

- 点击任务栏的“搜索”图标(或按
-
添加路径到系统变量中
-
在弹出的“系统属性”窗口中,点击 “环境变量”。

-
在 系统变量 下找到
Path,选中后点击 编辑。

-
在弹出的窗口中,点击 新建,然后粘贴之前复制的路径:
E:\colmap\ffmpeg-7.0-essentials_build\bin
-

- 保存修改
点击 确定 保存所有设置。务必确认完成后关闭所有窗口,不要直接点击×。
2.4 验证 FFmpeg 是否安装成功
-
打开终端或命令行工具:
- Windows 用户:按
Win键,搜索 Windows Powershell,并选择“以管理员身份运行”。 - macOS/Linux 用户:直接打开终端。
- Windows 用户:按
-
输入以下命令检查安装:
ffmpeg -version -
如果安装成功,会显示类似以下输出内容:
ffmpeg version 7.0 Copyright (c) 2000-2024built with gcc 10.2.1 (GCC) 2024configuration: ...

- 常见问题
- 问题:未识别为内部或外部命令
检查环境变量中的Path是否包含正确的 FFmpeg 路径,并确保路径中没有多余空格。 - 问题:命令输入有误
请确认命令为ffmpeg -version,中间有一个空格,且输入无误。
- 问题:未识别为内部或外部命令
三、FFmpeg 的基础操作
完成 FFmpeg 的安装后,我们可以通过它进行一些常见操作,例如从视频中抽取图像帧。
3.1 视频抽帧
以下命令将从视频中以 1 帧/秒的频率提取图像帧:
ffmpeg -i input_video.mp4 -vf fps=1 images/frame_%04d.jpg
-i input_video.mp4:指定输入视频文件。-vf fps=1:表示每秒抽取 1 帧。images/frame_%04d.jpg:指定输出文件的命名规则(如frame_0001.jpg、frame_0002.jpg)。
3.2 视频格式转换
以下命令将视频从 MP4 转换为 AVI 格式:
ffmpeg -i input_video.mp4 output_video.avi
四、总结
通过本教程,你已经成功完成了 FFmpeg 的安装与环境变量配置,并学会了如何验证安装结果。以下是主要步骤的回顾:
- 下载并解压 FFmpeg 安装包。
- 将 FFmpeg 的
bin文件夹路径添加到系统环境变量中。 - 验证 FFmpeg 是否正确安装。
- 使用 FFmpeg 执行基础操作,如视频抽帧和格式转换。
FFmpeg 是一个功能强大的工具,可以应用于多种多媒体处理任务。
相关文章:
FFmpeg:详细安装教程与环境配置指南
FFmpeg 部署完整教程 在本篇博客中,我们将详细介绍如何下载并安装 FFmpeg,并将其添加到系统的环境变量中,以便在终端或命令行工具中直接调用。无论你是新手还是有一定基础的用户,这篇教程都能帮助你轻松完成 FFmpeg 的部署。 一、…...
《特征工程:自动化浪潮下的坚守与变革》
在机器学习的广阔天地中,特征工程一直占据着举足轻重的地位。它宛如一位幕后的工匠,精心雕琢着原始数据,将其转化为能够被机器学习模型高效利用的特征,从而推动模型性能迈向新的高度。然而,随着技术的飞速发展…...
webrtc 源码阅读 make_ref_counted模板函数用法
目录 1. 模板参数解析 1.1 typename T 1.2 typename... Args 1.3 typename std::enable_if::value, T>::type* nullptr 2. scoped_refptr 3. new RefCountedObject(std::forward(args)...); 4. 综合说明 5.在webrtc中的用法 5.1 peerConnectionFactory对象的构建过…...
【深度学习基础之多尺度特征提取】特征金字塔(Feature Pyramid)是如何在深度学习网络中提取多尺度特征的?附代码
【深度学习基础之多尺度特征提取】特征金字塔(Feature Pyramid)是如何在深度学习网络中提取多尺度特征的?附代码 【深度学习基础之多尺度特征提取】特征金字塔(Feature Pyramid)是如何在深度学习网络中提取多尺度特征…...
【Docker】离线安装 Docker
离线安装 Docker 在CentOS系统上安装Docker 1、下载 Docker 仓库文件 https://download.docker.com/linux/centos/docker-ce.repo 2、添加 Docker 仓库文件 将上一步下载的文件,移动到 /etc/yum.repos.d/ 目录 3、清除 YUM 缓存 sudo yum clean all sudo yum…...
三大行业案例:AI大模型+Agent实践全景
本文将从AI Agent和大模型的发展背景切入,结合51Talk、哈啰出行以及B站三个各具特色的行业案例,带你一窥事件驱动架构、RAG技术、人机协作流程,以及一整套行之有效的实操方法。具体包含内容有:51Talk如何让智能客服“主动进攻”&a…...
Dockerfile基础指令
1.FROM 基于基准镜像(建议使用官方提供的镜像作为基准镜像,相对安全一些) 举例: 制作基准镜像(基于centos:lastest) FROM cenots 不依赖于任何基准镜像 FROM scratch 依赖于9.0.22版本的tomcat镜像 FROM…...
12.30 linux 文件操作,磁盘分区挂载
ubuntu 在linux 对文件的相关操作【压缩,打包,软链接,文件权限】【head,tail,管道符,通配符,find,grep,cut等】脑图-CSDN博客 1.文件操作 在家目录下创建目录文件&#…...
[图形渲染]【Unity Shader】【游戏开发】 Shader数学基础17-法线变换基础与应用
在计算机图形学中,法线(normal) 是表示表面方向的向量。它在光照、阴影、碰撞检测等领域有着重要作用。本文将介绍如何在模型变换过程中正确变换法线,确保其在光照计算中的正确性,特别是法线与顶点的变换问题。 1. 法线与切线的基本概念 法线(Normal Vector) 法线(或…...
YOLOv9-0.1部分代码阅读笔记-train.py
train.py train.py 目录 train.py 1.所需的库和模块 2.def train(hyp, opt, device, callbacks): 3.def parse_opt(knownFalse): 4.def main(opt, callbacksCallbacks()): 5.def run(**kwargs): 6.if __name__ "__main__": 1.所需的库和模块 import …...
等保测评和密评的相关性和区别
等保测评和密评在网络安全领域均扮演着至关重要的角色,它们之间既存在相关性,又各具特色。 以下是对两者相关性和区别的详细阐述:相关性 1.法律基础:等保测评和密评都是依据国家相关法律法规开展的活动。 等保测评主要依据《网…...
活动预告 |【Part2】 Azure 在线技术公开课:迁移和保护 Windows Server 和 SQL Server 工作负载
课程介绍 通过 Microsoft Learn 免费参加 Microsoft Azure 在线技术公开课,掌握创造新机遇所需的技能,加快对 Microsoft 云技术的了解。参加我们举办的“迁移和保护 Windows Server 和 SQL Server 工作负载”活动,了解 Azure 如何为将工作负载…...
大语言模型(LLM)一般训练过程
大语言模型(LLM)一般训练过程 数据收集与预处理 收集:从多种来源收集海量文本数据,如互联网的新闻文章、博客、论坛,以及书籍、学术论文、社交媒体等,以涵盖丰富的语言表达和知识领域。例如,训练一个通用型的LLM时,可能会收集数十亿甚至上百亿字的文本数据.清洗:去除…...
单片机的基本组成
单片机,即单芯片微型计算机(Single-Chip Microcomputer),是一种将中央处理器(CPU)、内存、输入输出接口等功能集成在一块集成电路芯片上的微型计算机。它具有体积小、成本低、可靠性高、功耗低等优点,在现代电子产品中…...
GO性能优化的一些记录:trace工具的使用
使用场景: 1 想要查看接口延时性偏高 2 深入了解协程具体如何运营的详细信息(运行时长,或者什么原因导致了协程运行受阻) 可以使用 trace 功能,程序便会对下面的一系列事件进行详细记录,并且会依据所搜集到…...
dede-cms关于shell漏洞
一.文件式管理器 1.新建文件 新建一个php文件,内容写个php脚本语言 访问,可以运行 2.文件上传 上传一个php文件,内容同样写一个php代码 访问,运行成功 二.模块-广告管理 来到模块-广告管理——>增加一个新广告 在这里试一下…...
NAT 技术如何解决 IP 地址短缺问题?
NAT 技术如何解决 IP 地址短缺问题? 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 随着互联网的普及和发展,IP 地址的需求量迅速增加。尤其是 IPv4 地址&…...
使用 IDE生成 Java Doc
使用步骤 Android Studio界面->Tools->Generate JavaDoc zh-CN -encoding UTF-8 -charset UTF-8 -classpath “C:\Users\fangjian\AppData\Local\Android\Sdk\platforms\android-34\android.jar” 报错问题 错误: 目标 17 不允许选项 --boot-class-path 如果你正在使用…...
通过无障碍服务(AccessibilityService)实现Android设备全局水印显示
一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍: 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行,并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换,例如焦点已…...
flask后端开发(2):URL与视图
目录 URL定义request获取请求参数 gitcode地址: https://gitcode.com/qq_43920838/flask_project.git URL定义 from flask import FlaskappFlask(__name__)app.route(/) def hello_world():return Hello World!app.route(/profile) def profile():return 我是个人…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
