Como hacer stream video externo?

  • Autor Autor Lautoe
  • Fecha de inicio Fecha de inicio
Lautoe

Lautoe

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos del foro e utilizado un código para videos remotos ósea que no están en el servidor sin embargo no puedo adelantar ni atrazar el video nos como puedo hacerlo alguien me puede decir como por favor ya que casi no se programación
ob_start();
$videoUrl = 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4'; // Reemplaza 'URL_DEL_VIDEO' con la URL del video externo

// Establecer el tamaño del chunk en 3 MB
$chunkSize = 3 * 1024 * 1024;

// Establecer el tiempo máximo de ejecución en 0 para evitar límites de tiempo
set_time_limit(0);

// Obtener las cabeceras del video para obtener el tamaño total
$headers = get_headers($videoUrl, true);
$fileSize = $headers['Content-Length'];

// Establecer las cabeceras para la transmisión del video
header('Content-Type: video/mp4');
header("Content-Disposition: inline; filename=video.mp4");
header("Content-Length: " . $fileSize);

// Abrir el archivo de video en modo lectura
$file = fopen($videoUrl, 'rb');

// Reproducir el video en chunks de 3 MB hasta que se haya transmitido todo el video
while (!feof($file)) {
echo fread($file, $chunkSize);
ob_flush();
flush();
}

// Cerrar el archivo
fclose($file);
 
El código que compartiste se encarga de transmitir un video remoto en chunks (trozos) de 3 MB. Sin embargo, no incluye funcionalidad para adelantar o retroceder el video. Para implementar esa funcionalidad, necesitarías un reproductor de video en el lado del cliente que permita controlar la reproducción, como HTML5 Video Player.

Aquí hay un ejemplo básico de cómo agregar controles de reproducción a tu código utilizando HTML5 Video Player:

HTML:
<!DOCTYPE html>
<html>
<head>
  <title>Reproductor de video</title>
</head>
<body>
  <video id="videoPlayer" controls></video>


  <script>
    // Obtén una referencia al elemento de video
    var video = document.getElementById('videoPlayer');
    
    // Establece la fuente del video
    video.src = 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4';
    
    // Reproduce el video
    video.play();
  </script>
</body>
</html>

Puedes colocar este código en un archivo HTML y abrirlo en tu navegador para ver el reproductor de video básico. Con este reproductor, tendrás controles para pausar, reproducir, adelantar y retroceder el video. Sin embargo, ten en cuenta que no podrás utilizar el mismo enfoque de transmisión en chunks que proporcionaste en tu código PHP para avanzar o retroceder rápidamente dentro del video remoto. Para eso, necesitarías un enfoque más avanzado que implica la manipulación del video en el lado del servidor o la utilización de una API específica para tal fin.

Cuentame como te va!
 
Atrás
Arriba