文字直播为什么比视频直播快?
2 个回答
通常直播方是「实时」看到现场直播的,可能通过电视信号或者在现场,然后就接下来就是一个技术问题:
1. 文字直播传输的数据量小,所有人都在一个聊天室内,通过服务器直连,不存在数据缓存,所以一个人敲完字点击发送后,其他人几乎是「实时」的看到这条消息,延迟通常在1s之内,取决于服务器的处理速度和接受者和发送者之间的物理距离。类似于所有人都在qq群里,一个人发消息,其他人都能实时看到。
2. 视频直播传输的数据量非常大,需要经过CDN节点缓存分发。互联网的大型视频直播技术通常都是由直播方将视频流推流到服务器,CDN节点从服务器缓存视频流,各观众端从CDN节点进行拉流,因此会有几秒到几十秒的延迟不等。这是个最常规且经济的解决方案,因此无论是网上的大型秀场直播还是赛事直播,都是通过类似的方案。
解决这个问题,通常也有几种方式:
1. 文字直播进行人为的延迟,比如直播主持人可刻意的晚几秒钟敲字,和视频直播保持同步。这种方案是最简单的,但因为每个用户看视频的延迟不同(和用户的地理位置,以及使用的播放器有关),不能人为的满足所有人。
2. 视频直播参与不延迟的技术方案,比如将全部用户都通过服务器直连,不走CDN缓存,保证延迟在500ms内。但这种方案如果要做到好的效果,特别是在满足大量用户的情况下,成本非常高。目前我了解的到的有在一些教育直播课里,用户付了几千块钱看一场直播,才会用此技术以提高用户体验。
3. 通过视频直播传输的数据里携带文字信息,保证视频数据和文字信息的一致。如果打字的人只有一个直播主持人,理论上可以采用此方案,把主持人的文字信息混到视频数据里,再在各个用户端解析出来并展示在聊天室里。这种方式现在是我YY的,没有详细了解过,但觉得在体育赛事直播里理论上可行。至少进球这条关键的信息通常是直播主持人发出来的,而这条关键的信息能够保证和视频一致即可。当然,这个方案可能会有其他的困难,现在视频直播和文字直播通常是两个完全独立的技术,两边打通会产生耦合,但说不定这种耦合在体育赛事直播里就是非常必要的呢?:)