你每一次视频聊天,都有一群人躲在背后

文 |谢幺

来源 |浅黑科技

0

大家好,我是谢幺。

闷在家一个多月,有个“小秘密”终于憋不住了,向大家坦白:

其实在我们的世界,高科技什么的,根本就不存在!一切都是“小人儿”在背后支撑。

比如,你起床洗脸,水龙头流出的水根本不是自来的,而是有个你看不见的“小人儿”在那头拼命压水。

500

 

你用烤箱加热面包,是有一个“小人儿”偷摸把面包拿出来用喷火枪烤。

500

另一个“小人儿”则拿着三角铁跑到你身后“叮——”烤好了。

500

马路上,看不见的“小人儿”挂在铁杆子上切换红绿灯,推着汽车一路狂奔。

500

洗衣机背后,一群“小人儿”蹲在地上搓洗、晾衣服。

500

电视画面是一个“小人儿”用单身几十年的手速飞快切换图片。

500

地铁进站,闸机是一个“小人儿”藏在里面,递票开闸。自动贩卖机就更不用说了。

500

发短信是一个“小人儿”在你身后抄写你的信息,然后飞速跑去,丢进对方手机里。

500

如果两个“小人儿”不慎相撞,就造成了网络抖动。不小心把信弄丢了,那就是网络丢包。

500 

…… ……

好吧,我实在编不下去了。

其实这是我最近在家摸鱼时,看的一部动画小短片《KUROKO》,脑洞很大有木有?尽管荒诞,可一旦接受这个设定,整个世界都变得有(mo)趣(huan)。

假如世界真是由这么一群“小人儿”在支撑,那他们最忙的场景,一定发生在互联网,尤其是实时互动场景。

比如最近疫情爆发,我们窝在家办公用的视频会议,远程教学,医院用的远程会诊系统……

试想,当一位老师在家远程教学,这些小人儿们得窝在老师身后,以神级的手速给老师画像(录制画面),飞速把画像和声音打包好(编码),再排着队跑到每个学生的家里(传输),一张一张展示在屏幕上(解码播放)。

500

由于画面是实时传输,一切都发生在几百毫秒之间,所以这些“小人儿”个个都得身怀绝技。

500

再告诉大家一个小秘密,其实在赛博空间里,这些小人儿是真实存在的,它们的名字叫“比特”(Bit)—— 信息量的基本单位。

我们在远程视频时,它们就奔走于赛博空间,帮我们传递音视频信号。在现实世界,我们把这种本领叫做 RTC—— Real Time Communication(实时通讯技术)

科技支撑着我们的日常生活,可它像冰山,奥秘总藏在水面之下。今天我将用最通俗易懂的语言,为大家揭开 RTC 技术的秘密。

1.“粗暴”的互联网

此时此刻,你拿起手机就能跟家人朋友视频聊天,远程开会,在线上学,但仅仅在20年前,这事儿还很难办。

因为最初的互联网不太适合干这件事。

互联网的建造者大概没想到,十几年后,实时互动的需求就如此之大。他们最初把互联网设计成了一个“尽力而为”的系统,给后人留了个大坑。

啥是“尽力而为”的系统呢?

互联网就像是课堂上传纸条,无数同学组成一个“网络”帮你打助攻,把纸条送到对方手里。

500

一开始还挺好,可问题是,班上传纸条的人越来越多,递纸条的同学忙不过来了,这就产生了“网络阻塞”。

500

互联网节点的解决办法特别粗暴:忙不过来就丢掉一些人的纸条 ,永远只“尽力而为”,棒打鸳鸯,简直无情。

而且班里参与传纸条的同学还分成不同派系!比如咱班上三大派系的老大分别叫“殿信”、“连通”、“夷栋”,遇上纸条太多,他们就优先保住自己派系的纸条,别家的纸条从他们这里过还得收费。

班主任当然想让班里的同学都和平共处,免费互联互通,这不,这几天又有了些进展:

500

所以互联网拿来发邮件、网页、图片、文字消息还好,哪怕丢包严重,大不了多传几次。可用来实时视频问题就大了,碰到网络阻塞就难免卡顿,断断续续不流畅,甚至掉线。

用专业点的话来说:互联网能让你很方便地访问全球的资源,但缺点是没有 QoS (Quality of Service,服务质量)保证。

所以在早期,人们想通过互联网联络,只能“送信”——发邮件或即时消息,不能“打电话”—— 实时通讯。

这不,1998年腾讯做 QQ,名字还叫“OICQ中文网络寻呼机”,真就是个哔哔机,输入对方号码,发送一段消息。

500

转折点发生在1999年,瑞典一个名叫 Global IP Sound 的公司成立了,只有十来个人,却个个都是人才。

他们做了一个专用于互联网的语音压缩引擎,从此名震江湖。你基本可以理解为,贝尔在现实世界发明了电话,而他们在互联网世界重新发明了电话。

除了音频编解码器,他们的核心技术还有这么几个:

丢包补偿算法:如果网络恶劣经常丢包,就能针对性地“补发快递”。

网络自适应算法:根据网络情况自动调节音质,优先确保通话流畅。

回声消除算法:消除电脑麦克风和音响的回声。

这个故事告诉我们:世界不迁就你,我们可以适应它。尽力而为的互联网不满足人们的实时通信需求,我们就做个解决方案来适应它。

后来,这家公司名字从 Global IP Sound 更名为 Global IP Solutions,因为不光做音频技术,也开始做视频网络通话技术。但总归英文缩写没变,后文咱们都用 GIPS 指代它。

毫无疑问,GIPS 让世界变了样,具体有什么?限于篇幅,我只说三个大部分人都熟悉的小故事。

1)GIPS 和 QQ

此时此刻,你打开 QQ 的“关于QQ”选项,还是能看到关于 GIPS 的字样。 

500

虽然 QQ 很早(2000年)就做了视频聊天功能,但起初难用到爆,直到2004年,腾讯给语音功能前面加了“超级”两个字,才“忽然”变得很好用。

500

当年超级语音的宣传广告

好吧,背后其实是腾讯开始买 GIPS 的技术方案。

虽然不知道交易细节,但众所周知,北欧的人力成本很高,GIPS 的技术方案一年一收费,还按照用户数量收,腾讯应该是下了血本。

但它也不亏,自从服用了 GIPS ,QQ语音腰也不酸,腿也不疼了,延迟、回声等各种毛病也都不见了,还支持多方语音,用户体验一口气上五楼。

那一年,GIPS 才25名员工,却能吸引地球另一端同样顶尖的技术人才来取经,说他们是世界上最顶尖的语音处理和 IP 电话技术专家,应该没人反对吧?

500

直到2010年GIPS “出事”(先卖个关子),腾讯才“被迫”开始自研音视频引擎。

2) GIPS 和 Skype

提到网络电话,肯定绕不开 Skype ,几个小伙汁本想做一个用 WiFi 传文件的软件,反应过来才发现,传什么文件,拿来打便宜电话岂不美哉?于是 2003 年,那是一个春天,Skype 就这么出现,尽管用户一开始抱怨通话质量太垃圾,但一想到能省下一大笔长途电话费,又觉得真香了。

500

Skype 上线一个月,下载量就破了百万,足以证明互联网实时通讯的需求之大。

没多久,他们去往北欧找 GIPS 取经。Skype 创始人兼CEO小尼(Niklas Zennstrm) 这样评价 GIPS :

“终于等到你,还好我没放弃,我们寻找世界上最好的语音引擎来支持我们的软件,感谢 GIPS 提供给我们,对我们网络电话软件而言,语音质量非常关键,而 GIPS 的软件包让Skype 比电话的通话质量更好。”

就连洛克希德马丁公司(就是造战斗机的世界第一武器制造商)都给GIPS做过一个测试:“GIPS在语音质量上全面超越了G.722、G.729等电信系统常用的编解码器。”

3)GIPS 和YY

2005年,李学凌要创业,雷军投了100万美元。

多玩网本来只是一个讨论魔兽世界的社区,后来慢慢就做成了一个综合游戏网站。

众所周知,打魔兽需要团队配合,打传奇需要喊兄弟来砍自己,它们都有工会系统,打字渐渐不能满足需求,语音就变成了必备品。

2008年, 实时语音软件YY上线。

后面的事大家就都知道了,YY 很快干掉其他同类软件一统游戏语音江湖,推动了一家纳斯达克上市公司,成就了一批互联网富翁。

但其实这里头有个事大家不太知道,YY之前已经有一批游戏语音软件,比如 TT、 iSpeak、Utalk (这个还是新浪UC官方做的),YY 最初只是很普通的一个,李学凌整天为卡顿延迟的问题发愁,日活怎么也撑不过40万,急需一个技术大牛来解决问题。

YY的投资人刘芹引荐了一个从硅谷回国创业的人,赵斌(请记住这个名字,他是本文后半段的男主)。

此人是 WebEx 的创始工程师之一,WebEx 又是个啥?世界上最屌的视频会议公司,没有之一,2007年被思科公司收购,价格是32亿美元。

赵斌到 YY 不到一年,就重构了 YY 的底层代码,实现“不卡不掉不延时”,用户量和服务承载能力成百上千倍地翻,很快甩开对手,据说李学凌还曾自掏腰包给他买了一辆奔驰。

这跟 GIPS 有什么关系呢?

赵斌是从 WebEx 出来的,根据公开资料, WebEx 一直用的也是 GIPS 的技术方案。

至此你会发现,世界上最流行的通讯软件,背后的技术一脉相承。


2.实时互联网的时代

GIPS 这么牛的一家公司,2010年居然被谷歌以6280万美元就给买了,怎么看都觉得谷歌捡了大便宜。

第二年发生的事更吊诡,谷歌给 GIPS 的技术方案换了个名字:WebRTC —— Web就是网络的意思,RTC 就是前面我们说的实时通讯。

然后开源,让大家都来免费用。

吃瓜群众的瓜都掉了:谷歌这是要干啥?这不就相当于天价买来一个绝密药方,挂在网上任大家免费用?

500

可仔细一想,真特么神来之笔!

类似的神操作,谷歌不是第一次干。详情可参照谷歌买 Android 的故事:

2005年花5000万美元买下 Android 公司。

2007年,谷歌的大佬们看到乔布斯笑嘻嘻拿出 iPhone ,心里慌得一匹:“卧槽,我们可能做不出这么屌的手机。”可他们又预感移动智能时代即将来临,赶紧在同一年公布 Android,并告诉大家“都来用吧,开源,免费哒!”后来才有了今天安卓、iOS 两分天下的局面。

500

我猜,之所以谷歌在2010年把 WebRTC 开源,也是认定:未来的互联网会是一个充满实时通讯的互联网,为了掌握未来的话语权,我要推动这一切的到来。

这不,第二年它就把 WebRTC 集成进自家的 Chrome 浏览器里,让浏览器原生拥有实时通信、视频、语音通讯的本领,不需要借助第三方插件。

很快,微软、火狐等浏览器厂商赶紧也跟进,隔壁 Adobe 家的孩子 Flash Player 播放器一下子懵逼了。

有过上网冲浪经验的中老年朋友们都知道,早些时候网页播放视频都需要借助 Adobe Flash Player 播放器。

500

“现在浏览器都原生支持视频了,那我怎么办?”

果然没过多久,谷歌就带头围剿 Flash Player,还给它下了最后通牒。

500

在中国,也有一群人眼里闪烁着实时互联网的影子。

还记得帮 YY 力挽狂澜的那个技术大佬赵斌吗?2004年,他就从 WebEx 离职回国,创办了“泥巴网”,想用一种叫“流媒体”技术来改变世界。

“流媒体技术”其实跟“实时通信技术”差不多意思,或者说是它的前身、基础。

在“流媒体”技术之前,我想看“学习资料.avi”,得把整个片子的文件完整下载下来,有了流媒体技术,片子就能分成很多个片段像水流一样顺着网线传输到我电脑里,实时播放。

像优酷、土豆网、PPlive、华聚网、56网、Mysee(暴露年龄的时候到了)等视频网站和“网络直播”之类的概念也都是在2005年前后兴起的。

2011年,李学凌在一次公开会议上说:

“1997年,我开始上网,最早的互联网是一个异步的通道,我发一个邮件之后,可能两天之后才能回给你,大家习惯了这种模式,精力也都集中在异步内容的积累上。等我做 YY 大概一年以后,有一天忽然意识到,互联网有一个特别大的需求长期以来都被忽略,就是需要一个实时通道。

那次会上,李学凌公开宣称已经把YY公司的理想重新改变为:要为互联网创造一个“实时互联网的能力。”

我猜当年台下一定有不少观众一脸懵逼,心想你不就是一个给网瘾少年们做打游戏语音的工具么?这胖子吹的“实时互联网”是个啥?

时间往后拉10年,2020:

当年的欢聚时代(YY的母公司)已经成了一家上市集团,取得了商业上的成功。

转型做直播,让直播打赏模式变成互联网的又一种基础商业模式;

后来直播带货火了,李佳琪一个对着镜头,卖出的货比一家大型商场还多;

电视里,视频教学的广告一个一个冒出来,在线教育市场一个个老板跑去交易所敲钟;

在线医疗、视频会议……越来越多基于直播和实时互动的新鲜玩意儿蹦出来;

你我拿起手机,想见父母朋友时,随手能拨过去一个视频聊天……

再回想10年前那个胖子说的话,心里只有三句卧槽。

现在也无法追究当年是谁影响了谁,但这不重要,重要的是:实时通讯的种子已经播撒在中国互联网的土地上

后来YY 成了一艘大船,在商业的航道上越行越稳,YY 直播、虎牙直播、YY在线教育……以及前不久推出的 MoTouch,基本都按照当年预定的轨迹。

赵斌却在2013 年递交辞职信,放下一条小船,独自驶向硅谷,终极目标还是“实时互联网”,却走的是一条技术人特有的路线。

他给自己的船起了个名字:“声网 Agora”。

3.API 信徒

到这,赵斌就成了男主,必须严肃介绍一下。

赵斌的英文名叫 Tony Zhao,所以我们可以叫他老赵,斌哥,或者 Tony 老师。

据说,Tony老师到硅谷创办声网Agora之后,公司的第一行代码是在硅谷的一个车库里诞生的,这很硅谷。

他想用一个技术人特有的方式来实现心中那个“实时互联网”,什么方式呢?在声网的官网, Tony老师的介绍上面写着答案——API 信徒

500

先卖个关子,咱们回到时间轴。

2011年,谷歌把收购来的 GIPS 技术改名 WebRTC 开源出来,很快就在技术圈子掀起一阵波涛?并没有。

一群开发者围着扔在地上供免费取用的 WebRTC 半天,发现这玩意儿根本不能拿来就用 —— 没有详细的使用说明书,也没有整体的技术方案供参考,还有不少缺点,需要自己慢慢优化调试。

就好比有人送给你一条免费的河豚,说它有世界上最鲜美的肉,可你根本不知道怎么烹饪,一没弄好就可能被它毒死。去找别人帮忙吧,一般的厨子也不会,找高级厨子又超级贵。

结果绕了半天,还是只有大公司有技术实力能 Hold 住 WebRTC,中小公司的技术小哥们只能干瞪眼。

哪里有问题没解决,哪里就有商业机会。

2004年,赵斌创办泥巴网时,目标就是推动流媒体技术的创新和发展,并用它来塑造心中的美好世界,后来泥巴网因为机缘跟YY合并,赵斌也就成了YY的CTO,十年之后,赵斌出来创办声网Agora,算是续上了当年的技术理想。

他的解决办法很直接:做API。

API 是个啥?就是互联网世界的一根“管子”。

互联网上有各种各样的“超能力管子”,我是一个APP,把管子接到自己身上,就能拥有某种特殊的能力。

比如,我接上科大讯飞公司的“语音转文字”识别 API ,就能获得语音转文字的能力;比如我接上百度的“人脸识别”API,就能获得人脸识别的能力。

就像《天龙八部》里虚竹掉下悬崖,无崖子一巴掌按在背上传输内力一样,紧张刺激,干净卫生,有点开挂的意思。

“过去,只有像微信、Skype、Whatsapp 这种级别的厂商才拥有实时通信能力。我要把这种能力用 API 的方式,以自来水的价格提供给 APP 开发者。”

赵斌相信,只要自己把实时通讯技术做牛逼,放出API,自然就会有很多人找来,用它实现各种各样的商业创意和价值。梧高凤必至,花香蝶自来。

最关键的,这么多年过去了,他越来越坚信实时通讯将变成水和电一样的存在。

他想尽办法在中国来推广 WebRTC,鼓励开发者们都来体验RTC技术,他相信只要试过就会“真香”。

早些时候,WebRTC 领域在国内还属于“三无”状态,即:无行业会议、无专业书籍、无搜索引擎收录。

2015年,赵斌在公司组织了一个翻译组,花半年时间把亚马逊上一本火爆的《WebRTC权威指南》翻译成中文,引入国内。

500

声网的第一场大会,不是产品发布会,而是“首届 WebRTC 大会”—— 亚太地区第一个 WebRTC 行业峰会,也是 WebRTC 官方钦定授权的。

甚至,声网还把自研的一套抗丢包音频编解码器 Agora Solo 也给开源了,放在网上免费给大家用。

这些都让我觉得,赵斌是真的相信 RTC 实时通讯技术的未来。

也许在这篇文章之前,你没听过声网这家公司,但你大概率已经是它的用户,准确来说,是它的用户的用户。

比方说:

你是个游戏玩家?那你很可能用过声网,因为虎牙直播、YY直播、龙珠直播以及很多游戏内置的语音聊天就内置了声网的技术。

你喜欢玩狼人杀?那你更可能用过声网,因为大部分线上狼人杀背后都是声网在支持音频技术。

什么?你说你不喜欢打游戏,是个热爱学习的好孩纸?那你大概率接触过声网,因为新东方、沪江网校、VIPKID、好未来、CCtalk、作业帮等等都在用声网的技术方案。

你喜欢看小姐姐?那你可能用过声网,陌陌直播、花椒直播、一直播用了声网。

你喜欢喜欢二次元?那你可能用过声网,B站跟声网有合作。

你喜欢唱歌,那你应该用过用过唱吧、音遇吧?

你喜欢交异性朋友?陌陌、Soul 用了声网。

你喜欢交同性朋友?那你还可能用过声网,因为 Blued、LesPark 也用了声网。

你什么也不喜欢?那你家里有没有小米智能音箱?有没有用过去哪儿、途牛……

绕了一圈,你会发现自己已经被声网360度无死角包围了,放弃抵抗吧兄弟(拍了拍你的肩膀)。 

500

图片来自网络

但是在某些时候,我也会祝愿你千万别成为声网的用户,比如下面这个:

500

这是重庆市推出的120官方视频报警平台“急视救” App,遇到紧急情况下,人们可以用手机APP或小程序直接打120,跟急救医生直接音视频对话,为抢救生命赢得宝贵时间。

这背后就是声网提供的音视频技术支持。

祝愿你用不上。

还有一个是在线理赔,车主出了车祸,原本要等保险公司到现场定损理赔,现在直接用“马上赔”小程序或者众安保险APP直接视频连线客服,一个电话走完理赔流程,最快三分钟搞定。

希望你也用不上。

声网合伙人、技术副总裁孙雨润告诉我,2015年,声网平均每天会有一百万分钟的实时音视频使用量,第二年,这个数字翻了十倍,疫情期间已经达到15.6亿,有超过30亿台设备连着声网的API。

几亿分钟是什么级别?大家可能没有概念。举个例子,中国联通大概一天的通话量在十几到二十亿分钟,中国联通已经做了几十年,几千亿市值的公司规模。声网呢?创业才几年。

于是,声网就像当年的 GIPS 一样,变成一群在幕后默默扫地的僧,润物细无声,用户也许不会直接看到他们,但历史将记住他们。


4.在互联网上再造一张“声网”

前文说到,如果世界不迁就你,你就去适应它。

其实还有一种办法,就是操翻改变它。

当年的 GIPS 以及后来的 WebRTC 并没有解决网络问题,只是练就了一门在恶劣环境下也能过得不错的功夫。

可问题在于,你努力适应环境,环境总能比你想象得更恶劣复杂。

中国互联网就跟现实世界的道路一样复杂。1994年,上海第一条快速路“内环高架路”通车,同年,一条 64K 的国际专线接入中国,从此我们就有了“信息高速公路”。多年以后,车和手机越来越多,这两条路都堵成了狗。

“为什么通话质量不好?”从业生涯中,总有人这么问赵斌。他总回答,这是由于网络或设备出了毛病。

可这样的情况多了,赵斌就想,如果的确是网络问题,就没有办法解决了?玩家可不会听你解释说这是网络问题,而不是软件算法问题。

在适应网络方面,声网也做出努力,比如前面说过,他们自研了专门针对移动互联网的专利编解码器 Agora Solo,可以在网络丢包严重的情况下,通过内部的编解码和优化算法,实现流畅的高质量通话。

但一味地想办法适应环境已经不能解决问题,车技再好,马路堵死了还是没招,赵斌决定换个思路,自己造一张专门用来实时通讯的网 —— 声网。

放在20多年前,你要造一个网络,就得建机房,拉缆线,但现在不用,他们用了一种叫“软件定义网络”的技术,在原来的公共互联网上搭建一张“看不见的网”。

在文章开头,我说互联网就像一间教室里传纸条,每个同学都是一个信息转发节点,大家都“尽力而为”,而且拉帮结派。

为了更好地传纸条,你想了一个绝佳的办法:

首先,你在班里的重要位置安插了一些关系好的同学。

500

这些同学不仅能帮你传纸条,还能当你的“哨兵”,掌握各自周边其他同学手里的纸条状况情况。

你拉了个微信群,大家把在群里汇总统计。

于是,你就在原本的网络之上,形成了一张专属于你的,看不见的“纸条传输网络”,于是,你总能计算出一条最便捷的路。

500

图糙理不糙

这里当然只是一个比方,毕竟,都能用手机拉群聊了,还要传纸条干嘛,为了浪漫嘛?

实际情况下,声网在全球部署两百多个数据节点,每一个数据节点都是一个“大本营”,里头有很多“小哨兵”服务器,帮他们了解互联网链路的路况,实时计算最优最快的传输路径。

于是,一张架设在公共互联网之上的实时通讯网络就此诞生。

声网把这套技术取名为“SD-RTN”—— 软件定义的实时网络 Software Defined Real-time Network 

500

孙雨润告诉我,一整套下来,可以在全球范围把端到端的单向延迟降低到 400ms 以下,实现超过百万人的实时互动。

注意,这里的“百万人实时互动”可不是指一个人直播,一百位观众观看,那只需要单向传输画面就行,对延迟的要求也不高,而是指一百位观众同时连麦说话,一个一百万人的语音、视频会议。

当然,在实际情况里,一百万人连麦说话的可能性几乎没有,但这是声网的“技术哲学”,也是它最狠的地方。

孙雨润说,为了让后台架构设计高可靠、高可扩展、高可维护,架构师团队在做架构演进设计要10倍以上负荷。

“如果平台在高峰期需要支持一百万用户同时在线,那系统从架构设计上就要有能力支撑一千万人,如果高峰期的并发请求是一千,那系统至少具备一万的处理能力。”

他告诉我,他们研发部有个同事在办公室里装了个警铃,遇到S级异常就会像火警一样鸣叫,吓尿一整层楼的同事。

"由于新型肺炎疫情,最近这两周线上实时互动用户的涌入是历史上前所未有的数量。”他们也面临前所未有的压力 —— 其他公司也许只需要“各扫门前雪”,声网却要给众多客户“扫瓦上霜”。

“新型肺炎疫情期间,日均通话分钟数16亿,部分客户用量较以往猛增了1000 倍。”这种情况下,声网硬是撑住没崩,“承诺99.99%可用性也一直没有改变。”

孙雨润告诉我,这场战疫结束,声网将创造了成立6年以来无全网事故的纪录。

5.谜底

文章开头那个动画片的结尾,又是新的一天,主人公照常打开衣柜,里头是一个“小人儿”的衣服,他穿上之后,就出门上班了。

原来他在被小人儿服务的同时,自己也是一个小人儿。

500

500

这个动画的中文译名叫《你不是一个人》,我觉得是个暗喻:我们每个人都是世界的主人公,每个人也都是默默无闻的“小人儿”。

声网的技术故事让我写作时忽然想起这个小动画。

支撑着这个世界运转、进步的“小人儿”是谁?

我们走在干净的路面,背后是清洁工“小人儿”们起早打扫;

我们躲在家,利用互联网方便地生活,背后是我们看得见的“快递小哥”骑着摩托飞跑,以及我们看不见“工程师小人儿”在敲代码,一砖一瓦垒起网络世界;

我们能安然地窝在家电视,岁月静好,电视里无数医护人员舍身赶往前线。

我们每个人都是自己的主角,又是世界的“小人儿”,并不是每个人都活在聚光灯下,大多数都默默无闻,但世界因为你我变得哪怕更好一丁点,那都是我们留给世界的小秘密。

全部专栏