和朋友相约在 Hotstar 上看比赛!

观看赛事直播是一件令人兴奋的事情,而与亲友一起观看赛事则快乐翻倍,因为这样既可以观看赛事,还可以随时跟亲友讨论比赛、分享喜悦,如果自己喜欢的队伍打输了,还可以跟朋友实时吐槽,这岂是一个人孤零零在家观看比赛能比得上的体验?!

但有的时候,我们的亲友不在我们身边,这可怎么办呢?

今年,Hotstar 推出了“与朋友一起观看”的功能,使用了这个功能就可以跟亲友一起一边看比赛,一边视频聊天。亲友不在身边的童鞋们就可以与朋友和家人连线,共享实时赛事啦!

1_7U4Fk0Bm17hd2WJtEnVDqA

一键开启美好体验!

用户体验就两个字——简单。我们设计这个功能的初衷就是要保证用户享受最流畅的体验,整个步骤只需要一键启动,然后邀请他人加入,但这简单背后是无尽的努力。

幕后的踢踏舞

下面这个高级设计图概述了实现这个功能的过程。

1_hoiRLUfIW7PvkYiZyFO-Xg1_bCs_LU4_S7A1Hx4fPhH8dQ

面临的挑战 & 解决方案

回声消除
在普通的 voip 应用中,我们需要取消掉另一个发言者的音频,这样他们就不会在听到自己的声音。这“与朋友一起观看”(WWf)这个功能不一样,要实现这个功能,我们需要多取消一个音频,即正在播放的内容的音频,因此我们一共需要取消 2 条音轨,只留下发言者的麦克风输入。

要取消正在播放的内容的音频,我们需要获取原始音频缓冲区,并将其发送到回声消除单元,避免通过网络直接发送。

1_e2xO9uHDGEYNd2KaMBVhSQ

优先处理 2 种不同的音轨

当与朋友连线一起观看比赛时,不同的用户关注的重点可能会不同。一些用户更在意比赛的音频,而另一些用户更在意朋友的音频。为满足不同用户的需求,我们必须在 2 种音频之间做好平衡。

因此,我们向用户提供了可以分别控制每种音频音量的选项,便于用户进行自定义设置,从而让用户获得最佳体验。

优化 CPU /电池消耗

视频会议特别耗电,因为系统必须执行 cpu 密集的操作,如视频推流的编码与解码。而且,我们这个功能比常规视频会议应用更加耗电,会占用更多的 cpu 资源。

其中关键的优化是从用户体验出发,为视频会议选择最佳分辨率,较低的帧速率,10 帧/秒,120 帧。这样,既符合我们视口大小,也保证了用户体验。

我们还解码视口中的参与者的视频。因此,如果一起观看视频的有 10 个人,我们只解码 5 - 6 位参与者的视频,剩余的人不显示在视口中(当时没有积极参与说话的人不会出现在视口中)。

优化视频播放

视频播放是 Hotstar 的核心,我们不能让视频会议影响了主要内容的播放,另外,我们还希望保证移动客户也能参与其中。为此,我们改进了分辨率,避免给推流的主要内容增加过多的负载。

我们还限制了参与者的数量,这样可以控制带宽消耗,保证播放。此外,我们先开始播放视频,然后再开启视频会议,确保主视频总是先播放,这样可以准时播放主视频。

无缝加入

对于用户来说,如果要邀请别人一起观看视频,那么无缝加入和快捷邀请非常重要。因此,我们设计了新的深度链接组合,可以传递视频直播群聊的元信息,例如频道和加密信息。

链接的第 1 部分是基本的 URL,它定义了要播放的内容,第 2 部分定义了该播放内容上要使用的功能,第 3 部分是播放内容的元信息。通过这种方式,我们将所有信息都存储在一个 URL 中,指引用户找到正确的内容,确保用户加入各自的观看群。

1_zZSKSPfPoatOla6r7Vis7Q

向后兼容

有时候会遇到这样的情况:有的参与者所用的框架和应用没法参与观看群。这种情况下怎么确保流畅的用户体验呢?

使用已编进上述深度链接的元数据,在其中添加版本检查,就能够向用户发送升级提醒,让其升级后来使用 Watch Party 功能。

1_qYa7-EeKmf2RsW2-jtPyGA

参与者的视频同步

想象一下这样的场景,你的朋友都大喊 “OUT” 时,你却还在观看比赛,剧透警告!因此,与朋友一起观看体育比赛直播时,大家都处于同样的直播阶段非常重要,这样才能一起拥有精彩的观看体验。

因此,我们加强了功能,如果参与者观看比赛的进度落后很多,就可以选择快进视频。

安全

当你与朋友和家人一起参加观看比赛时,我们要确保陌生人不能进入你们的观看群,所以我们在各个步骤都设有安全门。

首先,我们的令牌架构确保了只有 Hotstar 用户才能加入观看群。另外,我们还对深层链接进行了加密,只有知道你们频道名和密码的 Hotstar 用户才能进入你们的观看群。

我们还在起步阶段

我们还有很多改进空间,我们会不断优化我们的功能,来吸引更多用户使用功能,同时保证核心的观看体验。现在,该功能才刚刚开始全面推进,欢迎大家搜索这个功能并踊跃尝试哦~~

原文作者: Deepak Singh
原文链接:Watch Hotstar, Watch your friends! | by Deepak Singh | Disney+ Hotstar

推荐阅读
相关专栏
资讯
88 文章
本专栏仅用于分享音视频相关的技术文章,与其他开发者和声网 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。