For*_*vin 11 javascript php ajax video-streaming websocket
我想在多个客户端上同步播放视频.一个客户端将为服务器提供一个视频的URL,该视频可以流式传输并点击播放,然后每个客户端都应该在同一时间开始播放视频.在播放时必须确保每个客户端仍然保持同步.如果有人突然停止播放,其他人必须尽快停止.(此时停止的客户端将落后1秒左右.)然后当同一个人再次开始播放时,其他人显然必须等待一秒钟,直到一个客户端赶上并开始播放.
我的第一次尝试是设置一个mySQL数据库,让每个客户端不断向他们报告当前的视频时间.然后,服务器计算数据库中的任何客户端是否落后,如果是,则为每个客户端计算他们必须暂停多长时间才能让它赶上来.
但这并没有真正奏效.它强烈依赖于你的延迟,我无法在延迟<300ms的情况下可靠地工作(需要非常好的延迟).
那么我该怎么做才能改进呢?我应该更改我的设置(javscript < - > ajax < - > php < - > mySQL)吗?
如何可靠地计算服务器发送客户端的响应的传输时间?我的意思是,我不能只假设客户端的系统时间与服务器的系统时间相同......我能想到的最好的事情就是这样:
var start = new Date().getTime()
$.post( "sync.php", "")
.done(function(data) {
var end = new Date().getTime()/1000;
var clientServerClientTravelTime = (end-start);
var estimatedServerClientTravelTime = clientServerClientTravelTime/2;
});
Run Code Online (Sandbox Code Playgroud)
知道如何改进这整个概念吗?
Btw视频不能在我自己的服务器上.
| 归档时间: |
|
| 查看次数: |
3707 次 |
| 最近记录: |