Estoy buscando entender cómo crear una aplicación web que permita que varios usuarios vean el mismo video de YouTube sincronizado en sus computadoras. Por ejemplo, synchtube.com o watch2gether.com¿Cómo reproducir videos de YouTube sincronizados en varios clientes?
Estoy buscando un método sencillo que puede ser implementado usando tecnologías comunes tales como PHP
, jQuery
y Apache
. Actualmente estoy pensando en encuestas (o encuestas largas de cometas pero eso requiere una configuración de servidor más compleja que espero evitar), similar a cómo se implementan las aplicaciones de chat Ajax
, es decir, los clientes comprueban continuamente con el servidor para ver qué video está jugando. Sin embargo, sospecho que habrá problemas de latencia aquí, por lo que los videos no estarán completamente sincronizados. No puedo pensar en un mejor enfoque todavía.
Para la comunidad de desarrolladores compañeros, cualquier ayuda sobre la metodología o los fragmentos de código es muy apreciada.
Lo único que se me ocurre es que cada usuario seleccione listo. Una vez que todos estén listos, inserte el video en todos ellos. Me gustaría buscar en un servicio de pub/sub utilizando php. No estoy seguro de qué soporte de navegador está buscando, pero he encontrado varias tecnologías de websocket para ser bastante útil para pub/sub. Que es compatible con la mayoría de los navegadores modernos. – agmcleod
Use un servidor para sincronizar los clientes. Luego, use la API de reproductor de JavaScript de YouTube para reproducir un video. Ver [esta respuesta] (http://stackoverflow.com/questions/7443578/youtube-iframe-api-how-do-i-control-a-iframe-player-thats-already-in-the-html#7513356) para un método simple y fácil de entender para reproducir un video. Para llamadas más complejas, como obtener el estado y los eventos del jugador, vea [esta respuesta] (http://stackoverflow.com/questions/7988476/listening-for-youtube-event-in-jquery/7988536#7988536). –
Incluso si todos los usuarios inician el video exactamente en el mismo momento, ¿qué sucede si algunos tienen una conexión más lenta que puede mantenerse al día con la transmisión de video solo mientras otras aplicaciones no estén utilizando parte de su ancho de banda? ¿Hace que todos los clientes hagan una pausa para que nadie se quede atrás? – nnnnnn