撑起全球视频的十几个志愿者:FFmpeg与VLC背后的隐形基础设施
"无匹配标签"无匹配标签

撑起全球视频的十几个志愿者:FFmpeg与VLC背后的隐形基础设施

F
FFmpeg/VLC 核心开发者团队 | 主持人: Lex Fridman
2026年5月6日YouTube
返回首页

金句精选

「我们关心的是你的代码质量。你是谁,我们不在乎——也许你是一条狗,我也不在乎。」

「如果我们被迫妥协软件,我们会直接关闭项目。」

「每一个周期都很重要——我们在谈论30亿台设备持续不断地解码视频。」

「阅读代码比写代码难一个数量级。不要重写已经运行良好的东西。」

「整个互联网的多媒体基础设施,就靠十几个志愿者在撑——但公众和大公司,都还没有意识到这一点。」

你每天看的视频,几乎都经过了一个你从未听说过名字的软件处理。

YouTube、Netflix、Discord、Chrome——全球90%以上的视频处理工作流,都在调用同一个开源库:FFmpeg。它没有界面,没有品牌,没有市场预算。你看不见它,但你每一次点开视频,它都在工作。

最近,Lex Fridman进行了一场长达4小时18分钟的深度访谈,与FFmpeg核心贡献者Kieran Kunhya、VLC创始人Jean-Baptiste Kempf面对面,拆解了这套撑起全球互联网视频的隐形基础设施。谈话内容横跨技术底层、社区文化、商业矛盾,以及几个足以改变行业走向的关键决策。


一、隐形的脊梁

很多人知道VLC——那个橙色交通锥图标的播放器,累计下载量超过6.5亿次,能打开几乎一切格式。但很少有人知道,VLC背后依赖的解码引擎,正是FFmpeg。

这两个项目被开发者称为「二进制恒星系统」——VLC处理用户界面和播放逻辑,FFmpeg负责底层解码;x264作为H.264的开源编码器,80%以上的FFmpeg工作流都要调用它;而新一代AV1解码器dav1d,则是VideoLAN组织开发的又一个关键项目。这套互相依赖、共生共长的生态,构成了今天全球视频基础设施的核心。

问题是:维护这套基础设施的核心团队,FFmpeg只有10到15人,VLC只有5人。

他们都是志愿者。


二、代码质量是唯一的门槛

Kieran Kunhya在访谈开头说了一句让人印象深刻的话:

「我们关心的是你的代码质量。你是谁,我们不在乎。也许你是一条狗,我也不在乎。代码优秀,就合并。」

这不是玩笑。FFmpeg和VLC的社区只有一条核心规则:代码说话。14岁的青少年,只要写出合格的汇编优化,代码照样被合并进项目,最终运行在全球数十亿台设备上。Edward Wong 14岁时就作为Google Summer of Code学生为x264贡献了大量汇编代码;16岁的Ruka Peng可以独立修复安全漏洞,让很多成年安全研究者汗颜。

这种彻底的「代码精英制」(meritocracy)有它深层的逻辑:核心团队人手极少,每一行合并进来的代码,都需要这几个人长期维护。容不下平庸,不是傲慢,是生存现实。


三、被忽视的技术奇迹:手写汇编

访谈里最令人震惊的细节,是关于汇编代码的规模。

dav1d——FFmpeg生态里的AV1解码器——总共有3万行C代码,以及24万行手写汇编。汇编占比79.9%。

为什么?因为当代码运行在30亿台设备上,每一个CPU周期都有意义。手写SIMD汇编(单指令多数据),一条指令可以同时处理16个像素,比编译器自动向量化快数倍,极端情况下可达62倍。

编译器开发者不认同这个结论。为此,FFmpeg社区和编译器支持者在Twitter上吵了整整两年。开发者贴出数百个基准测试对比,手写汇编始终更快。最终,数字说话。

dav1d的开发者甚至走得更远——他们自定义了调用约定,不遵守操作系统的默认规则,节省寄存器的保存与恢复开销。对每一代CPU架构(x86的不同代、ARM的不同代、RISC-V)单独优化,运行时自动检测CPU特性,选择最优实现。

FFmpeg全项目有10万行汇编。这不是历史遗产,而是刻意选择。

「每一个周期都很重要。」Kieran说。


四、大公司与志愿者之间的结构性矛盾

访谈里有一段令人不舒服的对话,揭示了这套基础设施最脆弱的地方。

2023年,Google旗下的AI安全团队用自动化工具批量扫描FFmpeg代码,生成了大量漏洞报告——在修复完成之前,就对外公开宣传AI的安全能力。这些漏洞几乎全部集中在1990年代冷门游戏的Codec上,全部被标为「高优先级」。

FFmpeg的几个志愿者维护者,需要在已经很重的日常工作之外,处理这批无报酬的紧急工单。更糟糕的是,因为所有问题都是「高优先级」,真正严重的漏洞反而被淹没了——「狼来了」效应。

事件被公开批评后,Google改变了策略,开始提供补丁和修复奖励,情况有所好转。

但Microsoft Teams的故事更直白。Microsoft的团队要求FFmpeg志愿者优先修复他们内部使用的高优先级问题。志愿者提出:如果需要优先级保障,请签长期支持合同。微软的回复是:提供几千美元一次性付款。

这件事被公开之后,社区捐赠大幅增长。但Kieran说,增长的金额仍然不够支付一个全职开发者的工资。

整个互联网的多媒体基础设施,依赖十几个志愿者维护。万亿市值的公司,每天从这套系统中获益。双方之间的关系,从来没有被认真审视过。


五、Jean-Baptiste Kempf的几次关键选择

VLC的故事,在某种程度上是一个人的故事。

VLC起源于1995年法国巴黎中央理工学院的校园项目——学生们想要更快的网络来打游戏,顺手做了一套卫星电视流媒体系统,比YouTube早了整整十年。2001年开源,2003年Jean-Baptiste Kempf加入,2005年项目只剩下两个活跃开发者,几乎濒临停摆。

他选择坚持下去。

在项目发展过程中,Jean-Baptiste多次拒绝了数千万美元的广告捆绑合作——那些要求在安装包里偷偷捆绑间谍软件的商业邀约。他的逻辑很简单:「我们不做不道德的事。如果我们要妥协软件,我们会直接关闭项目。」

正是这几次拒绝,让VLC获得了用户真正的信任,发展到今天6.5亿下载量的规模。

还有一个鲜为人知的工程壮举:Jean-Baptiste将VLC核心库libVLC的许可证从GPL改为LGPL。这件事听起来只是改个授权文件,实际上需要联系所有350名历史贡献者,逐一获得书面同意。他甚至亲自出差,找到了已经去世的贡献者的家属。整个过程耗时数年,最终完成——从此商业项目可以链接libVLC而不必开放自己的全部源码,VLC也因此进入了苹果App Store。


六、开源的代价:burnout与XZ事件的警示

访谈临近结尾时,话题变得沉重。

XZ事件:2024年,一个叫Jia Tan的账号,花了约两年时间在XZ Utils项目里建立信任,最终拿到了commit权限,并植入了后门。项目原本的维护者长期处于burnout状态,接受了这个「热心帮助者」的大量工作,最终酿成了差点影响全球Linux系统的安全事故。

Jean-Baptiste说,现在他已经接管了多个无人维护的开源项目,因为这些项目的原维护者精疲力竭,又没有大公司愿意出人出钱接手。AI生成的大量无效PR和问题报告,进一步加重了维护者的负担。

「整个互联网的多媒体基础设施,就靠十几个志愿者在撑。」他说,「但公众和大公司,都还没有意识到这一点。」


七、「如果有人愿意感谢开源开发者,就去做吧」

访谈快结束时,Lex问Jean-Baptiste:有没有让他感到温暖的时刻?

他说:他经常在Reddit上出没,经常有人跟他说「谢谢VLC」。他每次都会回复。

「这些人做了如此伟大的工作。他们应该知道,有人注意到了。」

VLC的橙色交通锥logo,愚人节那天被临时替换,24小时内收到了1万封反对邮件。社区决定:永久保留这个设计。

这个细节,也许比任何技术讨论都更能说明一件事:真正的基础设施,不只是代码,还有人。


关键金句

金句1:「我们关心的是你的代码质量。你是谁,我们不在乎——也许你是一条狗,我也不在乎。」 金句2:「如果我们被迫妥协软件,我们会直接关闭项目。」 金句3:「每一个周期都很重要——我们在谈论30亿台设备持续不断地解码视频。」 金句4:「阅读代码比写代码难一个数量级。不要重写已经运行良好的东西。」 金句5:「整个互联网的多媒体基础设施,就靠十几个志愿者在撑——但公众和大公司,都还没有意识到这一点。」