用流量看视频、直播、小视频,总会遇到网络质量不好的时候,即使是wifi,同时用的人太多,也会遇到视频很卡、画质很低的情况。这种情况,该如何破解?
开脑洞的时候来了!学者们提出的办法是——资源众包(crowdsourcing)!
也就是将大家的资源聚集起来,共同使用。比如,网络质量好的用户,可以帮网络质量不好的用户下载。又比如,如果几个人想看同一个视频,大家可以一起下载。
整体来说,总共有四种针对流媒体(也就是视频、直播等)的资源众包方式,有的方式在技术上也已经得到了实现。
在具体描述这四种方式之前,有一个小概念——视频片(segment)。目前,视频通常会被切成若干视频片,一个视频片通常会包括2-10秒的视频片段。他们的编码与下载通常是以视频片为单位的。这样的方式,可以实现边下载边播放的功能,当一个视频片被下载了,它就可以直接被解码并播放。同时,这样的方式也可以实现码率自适应,也就是说,可以在视频播放过程中,任意的改变视频的画质,毕竟只要改变即将要下载的视频片的画质就可以了。
这四种众包方式大概是下面这样的。
MP2P (Mobile Peer-to-Peer)共享
当周围有人已经下载了所要观看的视频片,用户可以通过蓝牙或者wifi直连的方式,直接获取。一般情况下,蓝牙或者wifi直连在近距离时,比蜂窝网络(也就是流量)和wifi的下载速度要快很多。如果你是苹果用户,也许你有过airdrop秒传数十张高清照片的经历。正因为如此,视频的质量不再依赖于网络质量,即使没有网,也有可能观看高质量的视频了。
为了方便理解,我画了一些图。图中,虚线部分表示提供视频的服务器,箭头表示视频片的传送方向,a-1表示视频a的第1个视频片,a-2表示视频a的第2个视频片,依次类推。
印度的YouTube曾在四年前推出过这样的测试功能,我最近又尝试找了一下相关信息,可能是已经黄了。我觉得,最主要的原因可能是应用场景比较有限,只能在朋友范围内。毕竟即使路上有个人在看我想看的视频,我也不可能直接上去说:哥们,能不能传点视频片给我。
D2D (Device-to-Device)共享
多个临近的用户想看同一个视频,他们可以分工下载这个视频的视频片,然后用蓝牙或者wifi直连共享。举个例子,5个用户下载一个有5个视频片组成的视频,每个用户只需要下载1个视频片,通过共享,他们就可以看完整视频了。
如果忽略蓝牙和wifi直连带来的时延,在这样的分工合作下,实际的视频下载速率可以看作是这些用户的下载速率之和。5个10兆用户一起下载,实际的速率可以看作是50兆,简直可以为所欲为。
这样的分工合作一度是4G和5G的热点,很遗憾的是,目前并没有被使用。当然啦,最主要的问题也很明显,除开应用场景比较有限之外,多个用户的蓝牙或者wifi直连会带来相互之间的信号干扰,实际的效果可能并不会很好。
网络资源聚合(Bandwidth Aggregation)
这个方式就更加简单粗暴了,一个用户想看视频,周围的人帮助这个用户下载视频片,仍然是用蓝牙或wifi直连发给这个用户。嗯,皇帝般的待遇。
问题来了,如果我不是皇帝,为什么大家要帮助我呢?这就要从经济学的方向解决了,比如,我也许真的很想看这个视频,或许我可以给点钱?
网络资源共享 (Crowdsourced mobile streaming)
在多个用户看不同视频的场景下,他们可以将视频需求和网络资源整合到一起,秉着满足所有视频需求的理念,重新分配网络资源。采用能者多劳的方式,网速好的人多下点视频片(也许是给自己,也许是给别人),网速差的人少下一点。比如,当一个用5G看小视频的人和一个用3G看高清直播的人聚在一起,前者也许可以帮助后者下载,满足两个人的需求。
不论这四种方式的哪一种,隐私和利益都是阻碍他们发展的重要原因。从看视频的人的角度,他可能不愿意让其他人知道自己在看什么,从帮助下载视频片的人的角度,他需要一个理由去帮助别人。
当我们解决了这两个问题,相信这样的众包会真正地成为现实,我们的网络资源也能得到更好的利用。
唔,这也许是个改变世界的机会,有没有什么办法呢[思考]?
愿生活充满干货。一个认真科普的90后女博士,每周分享通信、计算机、网络及经济学最新最有趣的干货。喜欢的话,记得点赞、收藏和关注哟。欢迎留言及评论。