15 年前被钉在“FFmpeg 耻辱柱”,今天他却得谢谢咱——腾讯QQ影音一雪前耻?
就在刚刚,FFmpeg 在社交媒体公开感谢腾讯公司向项目提交的高质量补丁。
这称得上是历史性时刻——毕竟 15 年前,腾讯的知名产品QQ影音因不遵循开源协议使用代码被 FFmpeg 钉在了“耻辱柱”(Hall of Shame)。
事件背景
FFmpeg 全称为 Fast Forward MPEG (Moving Picture Experts Group),由神一般的开发者——法国程序员法布里斯·贝拉(Fabrice Bellard)创建并开源。其最早诞生于 2000 年,是用户量最大的音视频编解码套件,全球 90% 以上的音视频软件是采用 FFmpeg 作为基础库进行音视频相关的功能支持,它包含丰富的封装格式支持、编解码格式支持、网络协议支持、滤镜支持等模块支持,具有较好的可移植性。
FFmpeg 采用 LGPL 和 GPL 开源许可证(具体依据所选的组件)公开源代码,任何人都可以在遵守协议的情况下自由使用 FFmpeg,而且不收费。
简单总结 FFmpeg 的优点就是:功能强大、代码开源、免费使用——很难不让人“白嫖”。
PC 互联网时代,许多播放器软件使用了 FFmpeg 的代码后并没有遵守开源协议公开任何源代码。FFmpeg 社区便将违反开源协议的公司、组织和个人网站贴在 “耻辱柱”。他们解释称,这是一份违反 FFmpeg 许可证的项目或公司名单。他们希望通过公开羞辱这些项目或公司来促使其遵守许可条款。
这其中不乏一些知名产品,比如韩国播放软件 KMPlayer 以及国产播放器暴风影音、QQ影音都被列入“FFmpeg 耻辱柱”。
据介绍,2009年11月5日,网友roozhou向FFmpeg举报,指出QQ影音的credit只给出了修改的FFmpeg源码下载,声称是LGPL许可证。但实际是修改过的ffdshow——采用的是GPL许可证。同日,另一位用户cehoyos下载了QQ软件,用7z解压之后发现其安装程序内包含了大量的开源和私有解码器的dll:libavcodec, libx264等等。
之后QQ影音被正式加入到“FFmpeg耻辱柱”名单之列。
被钉在“耻辱柱”一年多后,腾讯终于将手机QQ影音修改的FFmpeg源代码进行了公开。后续也公开了 PC 版 QQ 影音修改的 FFmpeg 源代码。
“耻辱柱”计划于 2011 年上半年下线,不过其网页源代码仍保留这些名单。
(https://github.com/FFmpeg/web/blob/master/src/shame)
最后,也许你不认同文章标题的“一雪前耻”,但腾讯确实在积极参与 FFmpeg 开源社区贡献。
根据公开资料,从2019年至今,腾讯参与了FFmpeg社区的持续贡献,提交的Patch数目超过800个,有350个以上的Patch合并到FFmpeg主线,并拥有2位FFmpeg maintainer(Zhili Zhao 和 Jun Zhao)积极参与到开发和社区建设,深度参与了patch review、GSOC mentor、新特性开发、Bugfix等社区事务。
Jun Zhao 是腾讯专家工程师,目前在腾讯云负责视频云的媒体处理框架以及优化等工作,同时持续在开源社区提交相关 Patch。Jun Zhao 2018 年 4 月成为一名 FFmpeg Maintainer,主要负责 FFmpeg 的硬件优化工作,2019 年入选 FFmpeg 决策委员会。
Zhili Zhao 也是腾讯云音视频团队的工程师,2022 年成为 FFmpeg maintainer 之前,已经在 VLC 播放器核心开发,也长期参与各自开源社区的开发建设。
腾讯云音视频也是国内外云厂商中,在FFmpeg社区投入最大的厂商之一。
除去大量的bugfix以及功能增强外,腾讯云音视频团队还实现和优化了FFmpeg中的移动端硬件编解码加速、国产编解码标准支持、SRT传输协议、MP4封装格式增强等内容。
延伸阅读

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Redisson 3.30.0 发布,官方推荐的 Redis 客户端
Redisson 3.30.0现已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。 此版本更新内容如下: Feature 新增 sslKeystoreType 设置 新增 RPatternTopic.getActiveTopic() 方法 新增 RJsonBucket.merge() 方法 为 RBloomFilter 对象实现了 Async、Rx、Reactive 接口 JCache 的 fallback 模式 支持密码加密 Spring Cloud Stream 集成 Improvement 定义为 Java 系统属性的配置变量覆盖环境变量 Fixed io.projectreactor 包应在 OSGi Manifest 中定义为可选包 Spring Data Redis StreamPollTask.deserializeAndEmitRecords() 方法在故障转移后抛出 NPE Spring Data Redis 阻塞轮询命令在故障转移后无法重新连接 Redisson...
- 下一篇
NextJS 框架中发现严重 SSRF 漏洞
Assetnote 的安全研究人员在 NextJS 框架中发现了一个严重的服务器端请求伪造 (SSRF) 漏洞,编号为 CVE-2024-34351。目前该漏洞已在NextJS 版本 14.1.1 中进行了修补。 根据介绍,SSRF 漏洞源于 NextJS 内置的图像优化组件,该组件允许开发人员提供来自不同域的图像。通过将特定域列入白名单甚至允许所有 URL,开发人员会无意中将其应用程序暴露于盲目的 SSRF 攻击。攻击者可以通过构造对内部 URL 的请求来利用此漏洞,从而可能获得对敏感信息的未经授权的访问。 此外,研究人员发现该漏洞在某些条件下可能会升级。如果 NextJS 版本已过时或启用了"dangerouslyAllowSVG"选项,攻击者可能会实现跨站点脚本 (XSS) 或通过 SSRF 泄露 XML 响应的完整内容。 该漏洞还扩展到 NextJS 的服务器端功能,特别是其 Server Actions 功能。通过伪造指向内部主机的 Host header,攻击者可以诱骗 NextJS 从该主机而非目标应用程序获取响应,从而导致 SSRF 漏洞。 为了降低风险,建议开发人员将...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G