[Topic DIscussion] 那尘封的记忆开始复苏:FFmpeg与QQ影音的爱恨情仇
Tofloor
poster avatar
流浪的加菲
deepin
2024-05-13 10:18
Author

不知道有多少人还记得,曾经腾讯的知名产品【QQ 影音】因不遵循开源协议使用代码被 FFmpeg 钉在了 耻辱柱”(Hall of Shame),这已经是15年前的事了,同时期都有哪些同类型的产品呢,快播(放第一位吧)、暴风影音、迅雷影音播放器,KMPlayer等等。

例行介绍下 FFmpeg:

FFmpeg 全称为 Fast Forward MPEG(Moving Picture Experts Group),最早诞生于 2000 年,由法国程序员法布里斯・贝拉(Fabrice Bellard)创建并开源。FFmpeg 采用 LGPL 和 GPL 开源许可证(具体依据所选的组件)公开源代码,任何人都可以在遵守协议的情况下自由使用 FFmpeg,而且不收费。全球 90% 以上的音视频软件是采用 FFmpeg 作为基础库进行音视频相关的功能支持,它包含丰富的封装格式支持、编解码格式支持、网络协议支持、滤镜支持等模块支持,具有较好的可移植性,是目前用户量最大的音视频编解码套件。

为什么要翻开这件尘封的往事

原因是最近FFmpeg 在社交媒体公开感谢了腾讯公司向项目提交的高质量补丁。shamed

image.png

这难道是相逢一笑泯恩仇了吗applaud

让我们一起回顾下15年前的那段往事

事件背景

FFmpeg 的优点简单概括起来就是:功能强大、代码开源、免费使用

于是,在PC 互联网时代,许多播放器软件使用了 FFmpeg 的代码后并没有遵守开源协议公开任何源代码。FFmpeg 社区一怒之下便将违反开源协议的公司、组织和个人网站贴在 “耻辱柱”。他们解释称,这是一份违反 FFmpeg 许可证的项目或公司名单。他们希望通过公开羞辱这些项目或公司来促使其遵守许可条款

企业微信截图_cb5860d6-a4f4-40ec-8e13-96b1ea4441a4.png

在这份名单中不乏一些知名产品,比如韩国播放软件 KMPlayer 以及国产播放器暴风影音、QQ 影音都被列入 “FFmpeg 耻辱柱sweat
企业微信截图_4386a3e6-71f6-4a2a-baea-ce5aacac3a5b.png

暴风影音(现在的暴风影音已经不是以前的它了,正如乐视不再是乐视)

2009年5月,网友yegle向FFmpeg举报,指出暴风影音使用了大量开源代码,侵犯了 FFmpeg 的许可证。5 月 10 日,另一位用户 cehoyos 下载了暴风软件,用 7z 解压之后发现其安装程序内包 含了大量的开源和私有解码器的 dll:avcodec,avformat,avutil,x264,xvid,bass,wmvdmod 等等。杀毒软件 AntiVir 报告 lib_VoiceEngine_dll.dll 是木马程序 “TR\Spy.Legmir.SS.2”。之后暴风影音被正式加入到“FFmpeg 耻辱柱” 名单之列。

企业微信截图_1b7ed484-a53e-4fea-a298-e9eab69e35d1.png

QQ影音

2009 年 11 月 5 日,网友 roozhou 向 FFmpeg 举报,指出 QQ 影音的 credit 只给出了修改的 FFmpeg 源码下载,声称是 LGPL 许可证。但实际是修改过的 ffdshow—— 采用的是 GPL 许可证。同日,另一位用户 cehoyos 下载了 QQ 软件,用 7z 解压之后发现其安装程序内包含了大量的开源和私有解码器的 dll:libavcodec, libx264 等等。随后 QQ 影音被正式加入到 “FFmpeg 耻辱柱” 名单之列。

企业微信截图_6cf4362f-05e1-4f53-9a31-c584ef4220af.png

被钉在 “耻辱柱” 一年多后,腾讯终于将手机 QQ 影音修改的 FFmpeg 源代码进行了公开。后续也公开了 PC 版 QQ 影音修改的 FFmpeg 源代码。

image.png

企业微信截图_f6dbb98a-d4b0-4730-a3c2-32f5d1ee4526.png

腾讯对FFmpeg开源社区的贡献

虽然曾经腾讯白嫖过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 播放器核心开发,也长期参与各自开源社区的开发建设。

除去大量的 bugfix 以及功能增强外,腾讯云音视频团队还实现和优化了 FFmpeg 中的移动端硬件编解码加速、国产编解码标准支持、SRT 传输协议、MP4 封装格式增强等内容。


回首FFmpeg和腾讯QQ影音的往事,是否有种浪子回头金不换的感慨呢,还是要感谢腾讯对于FFmpeg开源社区的贡献和支持。目前腾讯在Linux软件生态上有点慢慢悠悠,但是好歹相继推出了全新架构的QQ Linux 版、微信Linux版、腾讯会议Linux版、腾讯文档Linux版,QQ音乐和腾讯视频如果使用Electron打包也不是难事吧,哈哈yeah

Reply Favorite View the author
All Replies
f@deepin
deepin
2024-05-13 10:26
#1

腾讯好感+1

Reply View the author
138******92
deepin
2024-05-13 11:55
#2

当年也知道有这么个事,腾讯影音是本地播放器软件,免费还无广告。当时有光驱还用光盘的时候用的多。已经好久软件都不更新也不用了,现在都是用在线视频的播放器软件或网页观看视频。

Reply View the author
deepin-2019
deepin
2024-05-13 12:00
#3
138******92

当年也知道有这么个事,腾讯影音是本地播放器软件,免费还无广告。当时有光驱还用光盘的时候用的多。已经好久软件都不更新也不用了,现在都是用在线视频的播放器软件或网页观看视频。

qq影音挺好用的,还有那个腾讯的轻听。

Reply View the author
fozei
deepin
2024-05-13 12:03
#4

微信Linux版本在哪里呢,我从他们官网上没看到。

Reply View the author
138******92
deepin
2024-05-13 12:11
#5

腾讯影音在当年是很好的播放器软件用的比较久,成为我的电脑必装软件了,另外一个轻听没怎么使用过。

Reply View the author
流浪的加菲
deepin
2024-05-13 13:31
#6
fozei

微信Linux版本在哪里呢,我从他们官网上没看到。

在统信UOS V20的应用商店里,星火应用商店里也可以下载到。

关于V23的商店里为什么没有微信Linux版可以看这篇帖子:微信linux版可以上架应用商店-论坛-深度科技 (deepin.org)

Reply View the author
fozei
deepin
2024-05-13 14:16
#7
流浪的加菲

在统信UOS V20的应用商店里,星火应用商店里也可以下载到。

关于V23的商店里为什么没有微信Linux版可以看这篇帖子:微信linux版可以上架应用商店-论坛-深度科技 (deepin.org)

可以这么理解吗,某大厂,对他旗下某款国民级社交软件,做了Linux版本适配,但是只限于某些特定的发行版?这么一看,完全没有QQ团队站位高啊applaud

Reply View the author
momo
deepin
2024-05-13 15:43
#8

image.png

期待一波

Reply View the author
nero28
deepin
2024-05-13 17:42
#9

我刚在手机和平板上装上QQ影音

Reply View the author
mozixun
deepin
2024-05-13 22:25
#10
fozei

可以这么理解吗,某大厂,对他旗下某款国民级社交软件,做了Linux版本适配,但是只限于某些特定的发行版?这么一看,完全没有QQ团队站位高啊applaud

玲珑出来之后只需要对着玲珑去适配就行了,这个问题是Linux发行版的锅,因为flatpak和snap都没解决高占用和超高储存占用的问题

Reply View the author