---
author: Best Partners TV
date: '2026-05-12'
guest: ''
layout: post.njk
source: https://www.youtube.com/watch?v=rbfM_yd4Gv0
speaker: Best Partners TV
tags:
  - video-processing
  - open-source
  - codecs
  - assembly-language
  - digital-preservation
title: «FFmpeg与VLC：守护数字视听世界的开源基石»
summary: «本内容深入解析了FFmpeg和VLC这两个至关重要的开源项目，阐述了它们在全球视频生态中的核心地位、技术深度（如手写汇编、编解码器原理、逆向工程）、开发者社群的纯粹与坚守，以及面临的维护挑战、安全议题和多媒体专利战争。探讨了数字媒体归档的使命，并展望了多感官数据流的未来。»
insight: ''
draft: true
series: ''
category: software-development
area: tech-engineering
project: []
people:
  - Jean-Baptiste Kempf
  - Kieran Kunhya
companies_orgs:
  - VideoLAN
  - FFmpeg
  - AOMedia
  - MPEG patent pool
products_models:
  - FFmpeg
  - VLC
  - dav1d
  - x264
  - AV1
  - H.264
  - H.265
media_books: []
status: evergreen
---
大家好，这里是最佳拍档，我是大飞。今天我们要聊的，可能是当今互联网世界里最隐形、却最不可或缺的两段代码了：它们就是 **FFmpeg** 和 **VLC**。你可能从没听过它们的名字，但是你每天刷的抖音、看的 Netflix、传的视频文件，甚至从火星车传回的图像、欧洲核子中心的粒子对撞监控画面，全靠这两个开源项目支撑着。它们不仅是全球视频生态的隐形基石，更是由一群志愿者用 C 语言和手写汇编，撑起了现代互联网的视听世界。

最近，科技播客主持人 **莱克斯·弗里德曼（Lex Fridman）** 与两位传奇开发者展开了一场深度对话。一位是 **让-巴蒂斯特·肯普夫（Jean-Baptiste Kempf）**，他是 **VideoLAN** 非营利组织的主席、VLC 媒体播放器的核心缔造者。另一位是 **基兰·昆哈（Kieran Kunhya）**，他是 FFmpeg 的资深编解码器工程师、FFmpeg 官方社交账号的幕后运营者。接下来，我们就借助这期播客的内容，拆解一下这两个项目背后的技术、故事、争议与坚守。

### VLC：万物皆可播的文化符号

先给大家一个最直观的认知：FFmpeg 是全球最大的 CPU 消耗者之一，超过 90% 的在线和离线视频处理流程都离不开它。从 YouTube 的视频转码、Netflix 的流媒体分发，到 Chrome 浏览器的视频解码，甚至智能电视的媒体播放，底层全是 FFmpeg 的代码。

而 **VLC 媒体播放器**，全球下载量突破 65 亿次，能打开几乎所有破损、冷门、奇葩的媒体文件，而且无广告、无追踪、完全免费。甚至有人调侃，“把煎饼放进光驱，VLC 都想试着播一下”。更震撼的是，这两个支撑起全球数字视听的项目，核心开发者加起来不超过 20 人，全靠志愿者用爱发电。

我们先从 VLC 说起。这个顶着橙色路锥 Logo 的播放器，早已经成为互联网的文化符号。让-巴蒂斯特在对话中提到，VLC 的路锥 Logo 辨识度远超过软件本身。在印度、中国的偏远地区，人们不知道 VLC 的名字，只知道搜“锥桶播放器”就能找到它。团队曾经在愚人节开玩笑要把 Logo 换成毛毛虫造型，结果收到上万封用户邮件抗议，足以见得这个丑萌 Logo 的江湖地位。

而 VLC 最传奇的能力，是万物皆可播。它能读取老式 VHS 录像带的采集卡信号、支持卢卡斯影业《星球大战》游戏里的冷门编解码器，还能播放分辨率、宽高比、旋转角度逐帧变化的奇葩 MKV 文件，甚至能识别同时是 ZIP 压缩包和 MP3 音频的怪异文件。在 VideoLAN 的开发者大会上，还专门举办过“最奇葩文件挑战”，所有脑洞大开的破损文件，VLC 全都能顺利解码。

这背后，其实是 VLC 从诞生之初就坚守的设计哲学：不信任任何输入文件，不依赖文件后缀名，直接解析文件的二进制内容。要知道，早年的网络视频多是盗版压缩文件， metadata 信息缺失、文件结构破损是常态，普通播放器碰到这类文件就会直接崩溃。而 VLC 从诞生之初就针对 UDP 网络流的丢包、破损文件做了极致适配。它的前身是法国巴黎中央理工学院的 VideoLAN 项目，最初用于校园卫星视频流媒体传输，天生就适配不可靠的输入。这也是 VLC 能风靡全球的核心原因：它不挑剔、不妥协，哪怕文件只剩半截，也能尽力播放。

比兼容能力更让人敬佩的，是 VLC 对无广告、纯免费的坚守。让-巴蒂斯特在播客中坦言，他曾经多次拒绝数百万美元的广告合作，对方要求捆绑间谍软件工具栏、篡改浏览器主页，以及在播放器内植入广告，全都被他一口回绝。他说：“我不是不爱钱，我创立过多家科技公司，我知道怎么合法赚钱，但是我不能用肮脏的方式背叛用户。如果要妥协软件底线，我宁愿直接关掉项目。”在 2000 年代，下载软件捆绑间谍软件是行业常态，而 VLC 始终干净透明，这也是它能收获全球用户信任的核心。让-巴蒂斯特强调，VLC 不属于某个人或者某家公司，它属于全球用户，坚守纯粹是对所有贡献者和使用者的尊重。

### 视频播放的底层逻辑：容器与编解码器

聊完 VLC，我们来拆解一下视频播放的底层逻辑，这也是理解 FFmpeg 价值的关键。很多人分不清“容器”和“编解码器”，总是把 MP4 和 H.264 混为一谈。这其实是行业术语混乱导致的。简单说，容器是一个盒子，而编解码器是盒子里的内容。

MP4、MOV、MKV、AVI 都是容器，负责把视频轨、音频轨和字幕轨打包在一起。而 H.264（AVC）、H.265（HEVC）、AV1、VP9 是编解码器，负责把海量的视频像素数据压缩和解压缩。比如我们常说的 MP4 文件，99% 的情况是 H.264 视频 + AAC 音频打包在 MP4 容器里。但是理论上，你可以把任何编解码器塞进任何容器。这也是 FFmpeg 和 VLC 要处理的复杂场景。

而视频播放的完整流程，比大多数人想象的更为复杂。当你按下播放键，第一步是通过 URL 或者文件路径获取字节流；第二步是解复用（demux），把容器里的视频、音频和字幕拆分开；第三步是解码，用对应编解码器把压缩数据还原成原始像素；第四步是渲染，把原始画面输出到屏幕，声音输出到声卡。

这里的核心是视频压缩。未经压缩的 1080P 30 帧视频，每秒数据量高达 1.5GB，根本无法传输和存储。而视频编解码器能够把数据压缩 100-1000 倍，而且人眼几乎看不出画质损失。视频压缩的核心原理是消除冗余，包括空间冗余（比如同一画面里重复的像素）和时间冗余（比如连续帧里不变的内容）。同时适配人眼感知：人眼对亮度敏感、对色彩敏感度低，所以视频会把色彩分辨率降低，只保留高分辨率的亮度信息，仅这一步就能把文件体积减半。

而解码的难点在于，45% 的文件无法通过 GPU 硬件解码，必须依赖软件解码。这就需要极致的代码优化，这也是 **FFmpeg** 的核心价值所在。它是全球最全能的多媒体处理库，包含编解码、复用解复用、滤镜、流媒体等全套能力，既是命令行工具，也是可以嵌入任何软件的底层库。基兰在对话中说，FFmpeg 的哲学是“人人平等”：普通人的家庭录像、万亿市值科技公司的服务器，用的是完全相同的 FFmpeg 代码。大公司用几千行的 FFmpeg 命令行来做视频处理，而普通人可以用简单指令来剪视频、加字幕、转格式。它把原本价值百万美元的专业多媒体设备能力，变成了人人可用的免费工具。可以说，没有 FFmpeg，就没有短视频革命、没有播客浪潮、没有平民化的视频创作。

### FFmpeg 的开源社区理念与维护困境

FFmpeg 的强大，还源于它纯粹的开源社区理念。这个社区有一个铁律：只看代码质量，不看身份背景。无论代码的提交者是世界 500 强的工程师、还是 16 岁的高中生，甚至是一条狗，都不重要。唯一的标准是代码是否优秀、是否符合项目的规范。这种精英式的治理模式，和 Linux 内核缔造者 **Linus Torvalds** 的理念高度一致。Linus 对代码质量的严苛要求，也是 FFmpeg 和 VLC 社区的标杆。

它的核心开发者只有 10-15 人，却要维护支撑全球设备的代码，所以代码必须极致简洁、可维护、无冗余。志愿者们白天上班、晚上贡献代码，没有薪水、没有名利，却要承受严格的代码审查。因为他们知道，自己写的每一行代码，都会运行在几十亿设备上，容不得半点马虎。

但是，这种纯粹的社区模式也藏着巨大的隐患，那就是开源维护者的倦怠。让-巴蒂斯特和基兰在播客中多次提到，全球互联网依赖的无数开源项目，核心维护者可能只有一两个人。他们拿着微薄的捐赠、甚至零收入，却要应对巨头的需求、安全研究员的漏洞报告，以及用户的吐槽，长期处于高压的状态。

最典型的就是 **XZ 后门事件**。XZ 是全球几乎所有设备都依赖的压缩库，核心维护者只有一个人。攻击者通过长期骚扰、施压，耗尽维护者的精力，最终骗取了代码的提交权限，险些植入全球性的后门。

而 FFmpeg 也面临着同样的困境。谷歌曾经用 AI 批量生成安全漏洞报告，不提前沟通就公之于众，把修复压力全都丢给志愿者。微软 Teams 曾经在 FFmpeg 的漏洞追踪器里标注最高优先级，却只愿意支付几千美元的一次性费用，完全无视志愿者的劳动价值。基兰愤怒地表示：“万亿级公司把开源项目当成免费的供应商，却不愿为支撑自己业务的代码支付合理的报酬。AI 生成的漏洞报告，本质是对志愿者的拒绝式服务攻击。那些冷门游戏编解码器的漏洞，根本不影响普通用户，却被标为高危漏洞，制造恐慌。”

好在这场争议最终带来了一些正向改变。谷歌开始提交修复补丁、设立漏洞修复奖励，对 FFmpeg 的捐赠也大幅增加。但是，依然远不足以覆盖一个全职开发者的成本。这也是开源世界的残酷现实：支撑全球数字基建的代码，却完全是由一群没有保障的志愿者守护着。

### 手写汇编：FFmpeg 碾压商业库的性能秘密

聊完开源社区，我们再深入到 FFmpeg 最核心的技术底牌：手写汇编。这也是 FFmpeg 能够碾压所有商业多媒体库的关键。大多数现代软件用 C、C++ 或者 Python 编写，依赖编译器的自动优化。但是 FFmpeg 和 VLC 的核心模块，用的是手写汇编语言，直接和 CPU 指令交互，没有任何中间层。

让-巴蒂斯特透露，FFmpeg 全项目有 10 万行手写汇编。而 **VideoLAN** 的 **dav1d**（也就是 AV1 的编解码器项目），手写汇编高达 24 万行，占比 79.9%。C 语言仅占 19.6%，其他代码占 0.5%。这种极致优化背后的原因是：每一个 CPU 周期都至关重要。FFmpeg 运行在几十亿的设备上，哪怕一行代码优化能节省 1 个周期，全球累计能节省的算力就是天文数字。而编译器的自动向量化、自动优化，和手写汇编的性能差距是 10-62 倍。这已经不是百分比的差距了，而是数量级上的差距。

基兰解释道，手写汇编用的是单指令多数据（SIMD）技术，一条指令能同时处理 16 个像素数据，而普通 C 语言代码只能逐个处理。更夸张的是，开发者还会滥用 CPU 指令，比如用加密指令来处理视频数据和自定义函数调用约定，绕过操作系统的规则，只为榨干硬件的最后一点性能。

dav1d 项目就是最好的证明。AV1 编解码器被行业认为是必须要使用硬件解码，但是 VideoLAN 团队用手写汇编做出的 dav1d 软件解码器，仅用一两个 CPU 核心，就能流畅解码 720P 的 AV1 视频。目前 Netflix 30% 的流量、YouTube 50% 的流量都是 AV1 编码，可以说 dav1d 支撑着全球 30 亿设备的 AV1 软解需求。

很多人可能会问，为什么不依赖编译器优化呢？让-巴蒂斯特直言，摩尔定律已到尽头，硬件性能不再指数级增长。想要提升效率，必须下沉到底层优化。AI 能写业务代码，但是写不出极致优化的汇编。这是一门失传的技术，也是不可替代的核心能力。为了传承这项技术，基兰还专门编写了一本汇编教程，摒弃了传统教材先学语法的模式，直接从实战入手，让高中生都能学会多媒体汇编。他说：“汇编就像驾驶喷火战斗机，你和硬件之间没有任何阻隔，能把设备推到设计者都没想到的极限。这是编程最纯粹的快乐。”

### 逆向工程与精准测试：守护数字遗产

除了极致优化，FFmpeg 和 VLC 的另一项核心能力是逆向工程。全球有无数私有、冷门、废弃的编解码器，比如早期的 GoToMeeting 会议编解码器、Windows Media 的私有编码、RealMedia 的私有格式等等。它们都没有官方文档，也没有开源实现，普通播放器完全无法播放这些格式的文件。

而 FFmpeg 社区的逆向工程师，能仅凭二进制文件，就能还原出完整的编解码逻辑。最传奇的是乌克兰开发者 **康斯坦丁·希什科夫（Kostya Shishkov）**。他能逆向几十 MB 的二进制 blob，仅凭机器指令和样本文件，就能写出精确到比特的解码器。让-巴蒂斯特提到，GoToMeeting 的编解码器是 VLC 用户最迫切的需求，康斯坦丁只用了两个月就完成了逆向。代码里还藏着无数玩笑和开发者昵称，却做到了和官方解码器完全一致的效果。

这里的核心标准是精确到比特（bit-exact），也就是说，所有解码器必须输出完全一致的像素数据。这是视频归档和专业处理的基础。而早期的 MPEG-2 编解码器没有执行精确到比特的标准，导致大量视频无法兼容。这也是 FFmpeg 坚持逆向和标准化的意义：守护数字遗产，不让任何视频因为格式废弃而消失。

为了保证代码质量，FFmpeg 还搭建了 **FATE** 自动化测试环境。志愿者提供全球各地的设备，覆盖 macOS、Windows、Linux、iOS、Android，兼容 x86、ARM、RISC-V、PowerPC 等所有架构，用无数种编译器和系统版本做测试，确保任何代码修改都不会破坏兼容性。这种极致的测试力度，远超大多数商业公司，也是 FFmpeg 能稳定运行在所有设备上的核心原因。

FFmpeg 由传奇程序员 **法布里斯·贝拉（Fabrice Bellard）** 于 2000 年创立，他同时也是 QEMU 虚拟机、QuickJS 的作者，是编程界的大神级人物。2004 年后，项目由 **迈克尔·尼德迈尔（Michael Niedermayer）** 主导，他完善了 DivX、Xvid、MPEG-4 等早期编解码器的支持，让 FFmpeg 成为了能替代所有专用播放器的全能工具。

2011 年，FFmpeg 社区因为治理理念的分歧，分裂出了 Libav 分支。这是开源社区常见的分叉现象。但是开源的魅力在于兼容并蓄，几年后，Libav 的核心代码全部合并回了 FFmpeg，开发者也陆续回归，FFmpeg 最终成为唯一的主流方案。让-巴蒂斯特说，分叉不是对抗，而是社区的自我迭代，最终会让项目变得更加强大。

### x264与新一代编解码器：互联网视频的画质标准与专利战争

而和 FFmpeg 深度绑定的 **x264** 项目，更是互联网视频的基石。x264 是 H.264 编解码器的开源实现，全球 80% 以上的 H.264 视频都由 x264 编码，从蓝光碟到短视频，全靠它支撑。x264 的核心突破是心理视觉优化，放弃追求数学上的峰值信噪比（PSNR），转而优化人眼观感，从而解决了早期编码器画面模糊的问题。**Loren Merritt（洛伦·梅里特）** 等开发者为 x264 写下了无数极致优化的汇编代码，让它成为了行业标杆。直到今天，所有新的编解码器（比如 AV1、AV2、VVC）的性能对比，基准都是 x264。可以说，x264 定义了互联网视频的画质标准，而它和 FFmpeg、VLC 同属 VideoLAN 的生态，形成了相互成就。

随着技术迭代，AV1、AV2 逐渐成为新一代编解码器的主流。AV1 由开放媒体联盟（AOMedia）开发，谷歌、Netflix、亚马逊、苹果、VideoLAN 共同参与，是免专利费的开源编解码器，比 H.264 的压缩效率高 50%，比 H.265 高 30%，而且没有昂贵的专利授权费。而 AV2 作为下一代标准，将再提升 30% 的压缩效率，VideoLAN 也将推出 dav2d 解码器，延续手写汇编的极致优化。

这里必须提到多媒体专利的残酷战争。MPEG 专利池拥有 H.264、H.265、H.266 的核心专利。企业使用这些编解码器，每年要支付数亿美元的授权费，甚至出现多个专利池相互扯皮、企业无法合法授权的乱象。这也是谷歌、Netflix 推动 AV1 的核心原因：那就是要摆脱专利绑架，让视频技术回归开源共享。让-巴蒂斯特说：“数学和算法不应该被专利垄断。”欧洲拒绝软件专利，这也是 VLC 和 FFmpeg 能够在法国诞生的原因。如果为所有专利付费，每个 VLC 用户就要支付 200 欧元，这完全违背了开源的初衷。

### 安全、隐私与数字遗产的使命

安全与隐私，也是 VLC 和 FFmpeg 永远坚守的底线。让-巴蒂斯特在播客中爆料，曾经有两家情报机构要求在 VLC 中植入后门，被他直接回绝。而 CIA 伪造 VLC 的投毒事件，更是让人震惊。维基解密泄露的 Vault 7 文件显示，CIA 制作了篡改版的 VLC，捆绑间谍插件，诱导用户下载后，窃取文档、监控系统。无独有偶，中国黑客也曾经利用伪造 VLC 的签名 DLL 文件攻击印度用户，导致 VLC 一度被印度封禁，最终让-巴蒂斯特通过法律诉讼才完成解封。

为了防范这类攻击，VLC 的编译流程极致严苛：离线编译、从头编译编译器、双重代码签名，没有任何远程提交权限，确保代码不被篡改。更重要的是，VLC 没有任何遥测，也不进行任何数据上传，完全离线运行。政府无法要求 VLC 提供用户的播放记录，这也是开源软件的隐私优势。

除了日常播放，FFmpeg 和 VLC 还有一个神圣的使命，那就是数字媒体归档。基兰说，FFmpeg 是数字遗产的“罗塞塔石碑”，能解码所有的废弃格式，确保 1000 年后的人类还能播放今天的视频。虽然全球归档社区资金匮乏，却和 FFmpeg 合作开发了 **FFV1** 无损编解码器，专门用来视频归档。这个格式可以做到无损压缩、快速解码、容错率极高，哪怕丢失了部分数据，也只损坏单帧画面，不会毁掉整个视频。从英国电影协会到世界各地的档案库，都用 FFmpeg 和 FFV1 来保存胶片、录像带和老旧视频，防止人类视听遗产消失。

让-巴蒂斯特还提到，大量 1930-1950 年代的胶片，以及 1970-1990 年代的录像带正在快速降解，全球没有足够的设备读取这些介质，归档工作刻不容缓。而 FFmpeg 的全格式支持，是守护数字文明的最后一道防线。

### 未来展望：低延迟流媒体、Rust 语言与多感官体验

如今，让-巴蒂斯特创立了 **Kyber** 项目，专注于超低延迟流媒体，目标是实现 4 毫秒的屏到屏延迟，用于机器人远程操控、无人机、云游戏和远程手术。核心口号是“每毫秒都至关重要”。Kyber 基于 QUIC 协议，单 socket 传输视频、音频和控制指令，同步所有的传感器时钟，解决了远程操控的同步难题，而且完全开源，采用双授权模式。

基兰则创立了 **Open Broadcast Systems**，专注于广播级的低延迟视频传输，把手写汇编的极致优化应用于体育赛事直播和广电传输，填补了商业设备的空白。

对于热门的 Rust 语言，两位开发者给出了自己的客观评价。他们认为，Rust 的内存安全优势显著，适合新开发的网络和解析模块，但是无法替代手写汇编的性能，也不适合重构现有的成熟代码。正如行业内流传的一句话：“重写是编程界最大的陷阱。80% 的功能用 20% 的时间就能完成，剩下 20% 的边缘案例，要消耗 80% 的精力。”

在更长远的未来，FFmpeg 和 VLC 还将拓展到所有人类感官的多媒体形式，包括 3D 点云、volumetric 视频、空间音频、触觉反馈，甚至脑机接口的神经信号编解码。让-巴蒂斯特说，多媒体的定义是“所有适配人类感官的定时数据流”。只要是数字信号，FFmpeg 和 VLC 就会支持。

回顾整个对话，最打动我的，无疑是开源社区的纯粹与坚守了。这群来自全球各地、背景迥异、大多性格内向的开发者，不为名利、不为财富，只为做出最优秀的代码，只为让复杂的技术普惠所有人。他们拒绝了百万美元的诱惑、拒绝了后门妥协、用爱发电守护着全球的数字基建，却鲜有人知道他们的名字。Linus 曾经说过：“优秀的程序员编程，不是为了钱或名声，而是因为编程本身就是乐趣。”这句话，正是 FFmpeg 和 VLC 社区的最好写照。希望大家能记住这两个隐形的开源奇迹，记住这群默默支撑互联网的志愿者。如果你受益过 FFmpeg 或 VLC，不妨去官网捐赠一笔小钱，哪怕几美元，都是对他们最大的支持。感谢观看本期视频，我们下期再见。