当前位置: 首页 > news >正文

FFmpeg 安装与使用

文章目录

  • 1. 环境部署(Windows)
    • 1.1. 安装包下载
    • 1.2. 配置环境变量
    • 1.3. 验证安装
  • 2. FFmpeg 基础使用教程
    • 2.1. 常用命令格式
    • 2.2. 基础功能示例
      • 2.2.1. 视频转码(MP4 → MKV)
      • 2.2.2. 调整分辨率(1080p → 480p)
      • 2.2.3. 提取音频
      • 2.2.4. 剪切视频片段(截取 00:01:00 到 00:02:30)
      • 2.2.5. 去除水印
    • 2.3. 视频转封装
      • 2.3.1. HLS 转 MP4

1. 环境部署(Windows)

1.1. 安装包下载

访问 FFmpeg 官网,点击 Windows builds from gyan.dev。
在 Release Builds 区域选择最新版本(如 ffmpeg-7.0.2-essentials_build.zip):

  • Essentials:基础功能版(推荐)。
  • Full:完整功能版(需更多存储空间)。

GitHub 下载地址
在这里插入图片描述
版本任选
在这里插入图片描述
这里我选择 full 版本,解压后复制 bin 目录路径:

├── bin      # 核心可执行文件(ffmpeg.exe、ffplay.exe、ffprobe.exe)├── ffmpeg.exe├── ffplay.exe└── ffprobe.exe
├── doc      # 文档
└── presets  # 预设编码方案

1.2. 配置环境变量

  1. 右键【此电脑】→【属性】→【高级系统设置】 →【环境变量】。
  2. 在【系统变量】中找到【Path】→点击【编辑】→【新建】→ 输入 D:\Programs\ffmpeg\bin(替换为实际路径)。
  3. 连续点击【确定】保存设置。

1.3. 验证安装

打开命令行窗口(Win+R → 输入 cmd),执行:

ffmpeg -version

若显示版本信息(如 ffmpeg version 7.0.2),则安装成功
在这里插入图片描述

2. FFmpeg 基础使用教程

2.1. 常用命令格式

ffmpeg [全局参数] -i [输入文件] [输出参数] [输出文件]

2.2. 基础功能示例

2.2.1. 视频转码(MP4 → MKV)

ffmpeg -i input.mp4 -c:v libx264 -c:a aac output.mkv

-c:v:视频编码器(如 libx265 为 H.265)。
-c:a:音频编码器(如 mp3)。

2.2.2. 调整分辨率(1080p → 480p)

ffmpeg -i input.mp4 -vf scale=854:480 output.mp4

2.2.3. 提取音频

ffmpeg -i input.mp4 -vn -c:a copy output.aac

-vn:忽略视频流。

2.2.4. 剪切视频片段(截取 00:01:00 到 00:02:30)

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c:v copy -c:a copy output.mp4

2.2.5. 去除水印

https://www.zhihu.com/people/lp-uber/posts

2.3. 视频转封装

2.3.1. HLS 转 MP4

  • 转换单个 TS 文件到 MP4
ffmpeg -i input.ts -c copy output.mp4

-c copy 选项告诉 FFmpeg 直接复制视频和音频流,不进行重新编码,这样可以保持原始质量并快速完成转换。
如果 TS 文件包含特定的编码或封装格式需要被转换(例如从 MPEG-TS 封装转换为 MP4 封装),可以省略 -c copy 选项,让 FFmpeg 自动选择合适的编解码器进行转换。

  • 转换 HLS 流中的 TS 片段到 MP4

处理 HLS 流中的多个 TS 片段(例如,一个 .m3u8 播放列表中的所有 TS 文件):
首先,下载所有 TS 文件(如果存在可跳过该步):

wget -i playlist.m3u8 -P videoss/

然后,合并这些 TS 文件到一个单一的 MP4 文件:

ffmpeg -f concat -safe 0 -i playlist.txt -c copy output.mp4

-f concat 是 FFmpeg 中用于拼接多个媒体文件的输入格式选项,将多个视频或音频文件无缝连接成一个文件。
-safe 参数是 FFmpeg 中用于控制文件路径安全检查的选项,主要在使用 -f concat 进行文件拼接时使用。
1 (默认值): 启用安全检查只允许相对路径且不包含特殊字符;禁用绝对路径、包含父目录的引用路径、某些特殊字符和符号链接;
0: 禁用安全检查允许使用绝对路径和特殊路径
-i playlist.txt 是一个文本文件,包含所有 TS 文件的路径,每一行一个文件路径。例如:

file 'videss/segment_0.ts'
file 'videss/segment_1.ts'
...

最后,文件结构:

├── videoss├── segment_0.ts├── segment_1.ts└── segment_10.ts
├── output.mp4      # 输出文件
└── playlist.txt  	# 输入文件列表
http://www.lryc.cn/news/602356.html

相关文章:

  • kafka开启Kerberos使用方式
  • 【三桥君】如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
  • 2025年7月28日训练日志
  • Android 解析 TrafficDescriptor 的 OSAPP 信息
  • Android15广播ANR的源码流程分析
  • ubuntu安装Anaconda及应用
  • 【运维】HuggingFace缓存目录结构详解
  • 首个智能存力调度平台启动!与算力网络共同加速AI创新
  • 【深度学习】SOFT Top-k:用最优传输解锁可微的 Top-k 操作
  • 应急响应案例处置(下)
  • 应急响应处置案例(上)
  • 【LeetCode 热题 100】(一)哈希
  • 绿算技术携手昇腾发布高性能全闪硬盘缓存设备,推动AI大模型降本增效
  • 零基础部署网站?使用天翼云服务搭建语音听写应用系统
  • Angular 依赖注入
  • 谷歌浏览器深入用法全解析:解锁高效网络之旅
  • 图像处理第三篇:初级篇(续)—— 照明的理论知识
  • C++算法之单调栈
  • 达梦数据库获取每个数据库表的总条数及业务实战
  • 提取excel中的年月日
  • window显示驱动开发—Direct3D 11 视频播放改进
  • 你的连接不是专用连接
  • NI Ettus USRP X440 软件无线电
  • 28天0基础前端工程师完成Flask接口编写
  • Go 语言-->指针
  • Java-数构排序
  • WAIC看点:可交付AI登场,场景智能、专属知识将兑现下一代AI价值
  • vue怎么实现导入excel表功能
  • 基于开源AI智能名片链动2+1模式与S2B2C商城小程序的微商品牌规范化运营研究
  • IDEA 手动下载安装数据库驱动,IDEA无法下载数据库驱动问题解决方案,IDEA无法连接数据库解决方案(通用,Oracle为例)