FFmpeg:视频压缩、转格式,还能配合 AI 做字幕

摘要

FFmpeg 是免费开源的跨平台音视频处理项目,提供转换、流媒体处理、媒体检测、简易播放及 Whisper 语音识别等能力。

遇到视频格式打不开、文件太大、音视频不同步时,很多人会去找“格式转换器”。但不少这类软件真正依赖的底层项目,其实都是 FFmpeg。

FFmpeg 不是普通意义上的视频转换软件,而是一套处理音频、视频、字幕及相关元数据的开源工具与程序库。它主要通过命令行使用,没有传统剪辑软件的时间轴和图形按钮,却覆盖了媒体处理中最基础也最常见的能力。不会命令行也没关系,通过AI可以将你的想法直白的表达出来,然后由AI帮你完成命令执行。

FFmpeg:视频压缩、转格式,还能配合 AI 做字幕

FFmpeg 实际包含哪些工具?

FFmpeg 项目并不只有一个命令,而是包含多个用途明确的工具。

  • ffmpeg:官方定义为命令行工具箱,用于处理、转换和流式传输音视频内容。
  • ffprobe:用于读取和分析媒体信息,例如封装格式、视频流、音频流和元数据。
  • ffplay:一个轻量级媒体播放器,适合快速播放和检查音视频文件。

项目还提供编解码、封装格式、流媒体协议、音视频滤镜、采集设备、音频重采样和图像缩放等程序库。

因此,FFmpeg 能处理的不只是“把 MOV 转成 MP4”,还包括音频、字幕、媒体参数、采集设备和流媒体内容。

最常见的用途是转换媒体文件

对普通用户来说,最容易接触到的是 ffmpeg 命令。它可以读取输入文件,再根据指定的输出文件处理音视频内容。

最简单的格式转换方式如下:

ffmpeg -i input.mov output.mp4

这条命令会读取 input.mov,然后生成一个名为 output.mp4 的新文件。

实际转换结果会受到原文件编码、输出格式以及当前 FFmpeg 编译版本的影响。某个安装包没有编入对应编码器时,即使命令正确,也可能无法完成转换。

需要注意,文件扩展名不等于编码格式。直接把 MOV 文件改名为 MP4,并没有真正改变其中的视频和音频内容;FFmpeg 会读取文件内部的媒体流,再按照目标格式进行处理。

用 ffprobe 查看视频内部信息

有些视频无法播放,不一定是文件损坏,也可能是视频编码、音频编码、字幕轨道或封装方式不兼容。

这时可以使用项目自带的 ffprobe:

ffprobe input.mp4

根据官方说明,ffprobe 可以收集媒体流信息,并以人类可读或机器可处理的方式输出。它能够显示媒体容器,以及文件中每条视频流、音频流和字幕流的类型与相关信息。

这项功能适合在转码前确认文件结构,也适合开发者在程序中读取媒体数据。

滤镜、缩放和音频处理来自项目本身

FFmpeg 项目包含多个用途不同的程序库。

  • libavcodec:提供多种音视频编解码器实现。
  • libavformat:处理封装格式、流媒体协议和基本输入输出。
  • libavfilter:通过滤镜链改变已经解码的音频和视频。
  • libavdevice:提供对采集和播放设备的访问。
  • libswresample:负责音频混合与重采样。
  • libswscale:负责颜色转换和图像缩放。

视频缩放、画面过滤、音频重采样和声音混合等能力,都是 FFmpeg 项目本身覆盖的范围。

不过,这些功能通常需要通过命令和滤镜组合完成。FFmpeg 更适合已经有明确处理目标的用户,而不是用来代替拥有完整时间轴的图形剪辑软件。

FFmpeg 8 加入了 Whisper AI 语音识别滤镜

FFmpeg 8.0 的官方发布说明中,新增滤镜列表明确包含 Whisper。该滤镜会调用 Whisper 模型执行自动语音识别,将音频中的语音转换成文本信息。

这项功能可以应用于课程录屏、采访音频、会议视频和字幕制作等场景,但它不是安装 FFmpeg 后即可直接使用的“一键 AI 字幕”。

官方文档显示,Whisper 滤镜依赖 whisper.cpp 库,需要在编译 FFmpeg 时启用相关选项,并提供已经下载的 Whisper 模型文件。

这意味着不同来源的 FFmpeg 预编译版本,未必都包含 Whisper 滤镜。

可以通过下面的命令查看当前版本包含的滤镜:

ffmpeg -filters

如果滤镜列表中没有 whisper,说明当前编译版本并未启用这项能力,不是命令或模型设置错误。

Whisper 滤镜属于可选的本地语音识别功能,不是 FFmpeg 提供的在线 AI 服务。FFmpeg 没有为这项功能设置会员账号、在线额度或订阅费用,但用户需要自行准备兼容的程序版本和模型文件。

ffplay 可以快速检查处理结果

除了处理和分析媒体文件,FFmpeg 项目还提供 ffplay。官方将其定义为一个极简的媒体播放器。

使用方式如下:

ffplay input.mp4

它适合快速确认视频能否播放、音画是否正常,或者检查 FFmpeg 处理后的输出结果。

ffplay 的定位并不是功能完整的日常播放器。如果需要媒体库管理、播放列表、字幕下载或复杂播放设置,使用 VLC 等专业播放器会更合适。

下载前必须知道:FFmpeg 官方只提供源代码

FFmpeg 官网明确说明,项目方只提供源代码,不直接发布 Windows、macOS 等系统的官方二进制安装包。

Windows 用户通常需要下载已经编译好的版本。FFmpeg 官方下载页面列出了 Gyan.dev 和 BtbN 等 Windows 构建渠道。这些渠道由官网提供入口,但安装包并不是 FFmpeg 项目方亲自编译发布的官方安装包。

Linux 用户可以通过发行版的软件包渠道安装,macOS 用户则可以使用官方下载页面列出的静态构建渠道。

FFmpeg 本身没有中文图形界面,主要通过终端运行,官方文档也以英文为主。完全不想接触命令行的用户,可以考虑使用基于 FFmpeg 开发的图形界面工具。

哪些人适合使用 FFmpeg?

  • 需要在本地转换或检查音视频文件的用户
  • 经常整理课程、录屏、采访和会议视频的人
  • 需要查看视频编码、音轨和字幕信息的内容创作者
  • 需要使用 Whisper 滤镜进行本地语音识别的进阶用户
  • 开发播放器、转码服务或媒体处理功能的技术用户

如果需求是拖动时间轴剪片、添加贴纸、模板、转场和字幕动画,图形剪辑软件会更加合适。

FFmpeg 的定位不是替代剪映或专业非线性编辑软件,而是提供一套更底层、更容易组合和自动化的媒体处理能力。

总结

FFmpeg 的真实价值,不只是使用一条命令转换视频格式,而是把音视频、字幕、元数据、滤镜、采集设备和流媒体处理整合进一套持续维护的开源项目中。

普通用户可以先从转换文件、查看媒体信息和播放测试开始;有进一步需求时,再研究滤镜、音频处理和 Whisper 语音识别。

它没有中文图形界面,但可以下载第三方UI实现中文界面,对于需要本地处理、批量操作或开发媒体功能的用户,FFmpeg 是一套重要的基础工具。

官方相关链接

发表评论