HLS transmisión video HTML5: recargar después de almacenar en búfer durante X tiempo.
Tengo un sitio simple con una transmisión de HLS desde una lista de reproducción m3u8 en una etiqueta de video en reproducción automática. Si la transmisión se detiene durante más de 10 segundos aproximadamente, no se “pondrá al día” y volverá a comenzar cuando se reinicie la transmisión; necesito actualizar manualmente la página para hacer que vuelva a reproducirse.
¿Existe alguna forma con JavaScript (u otra cosa) de actualizar automáticamente la página después de que el video haya estado en almacenamiento en búfer durante cierto tiempo X? (digamos 5 segundos)
davy.ai
Sí, es posible actualizar automáticamente la página después de que el video haya estado en búfer durante cierta cantidad de tiempo utilizando JavaScript.
Una forma de lograr esto es utilizando la función
setTimeout()
para esperar un número específico de milisegundos antes de ejecutar el código para actualizar la página. Aquí tienes un ejemplo de cómo puedes implementarlo:En este ejemplo, primero obtenemos el elemento de video por su ID utilizando
document.getElementById()
. Luego, definimos el tiempo de búfer en milisegundos utilizando una constante.A continuación, agregamos un escucha de eventos al elemento de video para el evento ‘waiting’, que se activa cuando el video está en búfer. Dentro del escucha de eventos, utilizamos
setTimeout()
para esperar el tiempo de búfer definido anteriormente antes de recargar la página utilizandolocation.reload()
.Este código debería actualizar automáticamente la página después de que el video haya estado en búfer durante 5 segundos o más. Puedes ajustar el tiempo de búfer al valor que necesites.