Ant*_*ony 13 php youtube ajax jquery real-time
我希望了解如何构建一个允许多个用户在其计算机上同步观看同一YouTube视频的网络应用.例如,synchtube.com或watch2gether.com
我正在寻找一个简单的方法,可以使用通用的技术,如来实现PHP
,jQuery
而Apache
.我目前正在考虑轮询(或彗星长轮询,但这需要更复杂的服务器设置,我希望避免),类似于Ajax
聊天应用程序的实现方式 - 客户端不断检查服务器以查看哪个视频是播放.但是,我怀疑这里会出现延迟问题,因此视频不会完全同步.我还想不出更好的方法.
对于开发人员社区,对方法或代码片段的任何帮助都非常感谢!
以下是使用 WebSockets 和 node.js 保持视频同步的示例: http://softwareas.com/video-sync-with-websocket-and-node
我知道您不想使用这项技术,这只是一个很好的起点,可以展示您可以做什么以及如何做。
由于您想使用 PHP 并让事情变得简单,那么您最好的解决方案是将实时通信层(用于保持用户视频同步)外包给托管服务,例如我工作的Pusher 。这意味着您不需要维护持久连接,您可以使用 Pusher 在用户/客户端之间传递有关视频状态的实时事件。
如果您想使用 YouTube 视频,并且 HTML5 并不总是可用,那么您需要使用Player API。我看不到类似的timeupdated
事件(在 HTML5 视频中可用),因此您可能需要定期检查视频时间(请参阅播放器状态 API 部分)。您可以注册状态更改事件,以便了解用户何时暂停、停止视频等。
@rob-w 的评论提供了有关使用 YouTube API 的一些很好的见解。
注意:这实际上可能会成为一篇非常有趣的博客文章,所以如果您有兴趣,请告诉我,我会看看我能做什么。