我正试图找到一种简单而强大的方法,将"视频"负载分布在网络中的多个节点上,每个节点都可以随时断开连接,就像在比特洪流网络中一样。
想法使用CSS位置属性将多个HTML5视频元素相互叠加,并同步播放。那些落后太多(或断开连接)的视频元素应该被删除,如果视频元素的数量接近零,则应该从服务器获取新的视频URL。
哲学使事情平行,并采取最好的。
代码示例:
HTML:
<div class="header">
<video>
<source src='path1/video.webm' type='video/webm; codecs="vp8.0, vorbis"'/>
</video>
<video>
<source src='another/path/video.webm' type='video/webm; codecs="vp8.0, vorbis"'/>
</video>
</div>
CSS:
div.header {
position:relative;
}
div.header video {
position:absolute;
left:0;
top:0;
}
这是个好主意吗?有可能吗?为什么不呢?利弊?
提前感谢!
这看起来有点像用核武器炸毁自己的房子来解决蚁患。
有多个像这样的同步流:
- 过于复杂,增加了失败的机会
- 增加基础设施的负载(因为您多次向同一用户提供同一视频),增加失败的几率
- 增加了用户的带宽需求(因为他们多次下载同一视频),增加了失败的几率
- 可能永远不会完全同步,所以用户会听到回声音频
我会专注于使您的视频服务节点可靠,或者将其卸载到CDN。