解析2016里约奥运会的直播架构

受到一位朋友的鼓舞之后,我们决定分享一下我们在2016年里约奥运会的经历。我们将带有5.5TB的1056处理器(CPU)放置到了这个城市的东南部。

里约奥运会的直播流媒体基础设施是2014年足球世界杯架构的增强版。采集点利用nginx-rtmp来输出 RTMP,而后将RTMP分割。额外的一层能够提供更多的资源共享和更强大的安全性。

分割器会在python程序的监控下利用EvoStream制造出了HLS,然后python程序就会将视频数据和元数据发生到Cassandra集群中用作序列。

现在让我们转到用户的角度来看一下。在用户想要播放一个视频的时候,需要一个视频块,请求从前端发送一份能够提供缓存,安全,负载均衡使用的文件。

网络提示:

现代网络卡通常会提供多个队列:从XPS,RPS到特定的CPU样样都有。

在前端没有申请板块的时候,它会反馈到使用nginx和 lua生成播放列表和cassandra视频块的后台。

缓存提示:

使用内存缓存:双层缓存解决方案,用tmpfs来缓存热点内容,把老旧内容放到磁盘上可以降低CPU负载、磁盘IOPS和响应时间。

这是从宏观角度来考虑的,当然我们也提供了很多小型的服务,比如说分享生活经验、电台节目指南、ISP带宽的推荐用法、地理围栏及等等。当然我们也会在 tsuru上发展这些服务。在不久的将来,我们可能会调查一些dash之类的自适应流格式,探索一下其他的输入类型(不仅仅是RTMP),增加 bitrates的数量,为农场及附近的用户提供更好的使用体验。

加速会:加速你对世界的理解,内幕全在这里!请关注加速会微信公号:jiasuhuihao

加速会主编微信:leaderweb

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2016-08-31
解析2016里约奥运会的直播架构
受到一位朋友的鼓舞之后,我们决定分享一下我们在2016年里约奥运会的经历。我们将带有5 5TB的1056处理器(CPU)放置到了这个城市的东南部。

长按扫码 阅读全文