Comment lire des vidéos YouTube en synchronisation sur plusieurs clients?

Je suis à la recherche pour comprendre comment construire une application web qui permet à plusieurs utilisateurs de visualiser le même YouTube vidéo en synchronisation sur leurs ordinateurs. Par exemple, synchtube.com ou watch2gether.com

Je suis à la recherche d'une approche simple qui peut être mis en œuvre en utilisant les technologies courantes telles que PHP, jQuery et Apache. Je suis en train de penser le long des lignes de bureaux de vote (ou d'une comète à longue interrogation mais qui nécessite le plus complexe de l'installation du serveur qui, je l'espère, à éviter), similaire à la façon dont Ajax applications de chat sont mis en œuvre - c'est-clients de vérifier en permanence avec le serveur pour voir la vidéo en cours de lecture. Cependant, je pense qu'il y aura des problèmes de latence voici donc les vidéos ne sont pas complètement synchronisés. Je ne peux pas penser à une meilleure approche encore.

Des confrères de la communauté des développeurs, toute aide sur la méthodologie ou des extraits de code sont très appréciés!

La seule chose que je peux penser est que, chaque utilisateur de sélectionner prêt. Une fois que tous sont prêts, poussez la vidéo à toutes et tous. Je veux le regarder dans un pub/sub service à l'aide de php. Je ne suis pas sûr de ce que la prise en charge du navigateur que vous êtes en train de regarder, mais j'ai trouvé divers websocket technologies pour être tout à fait pratique pour la pub/sub. Ce qui est pris en charge dans la plupart des navigateurs modernes.
Utiliser un serveur pour synchroniser les clients. Ensuite, utilisez le YouTube JavaScript player API pour lire une vidéo. Voir cette réponse pour un simple, facile à comprendre la méthode pour lire une vidéo. Pour les plus complexes des appels, comme le joueur de l'etat et des événements, voir cette réponse.
Même si tous les utilisateurs de démarrer la vidéo exactement au même moment, ce qui se passe si certains ont une connexion plus lente qui peut suivre le flux vidéo seulement aussi longtemps que les autres applications ne sont pas de l'utilisation de certains de la bande passante? Voulez-vous faire de tous les clients de pause de sorte que personne ne se trouve derrière?

OriginalL'auteur Anthony | 2011-12-07