Como fazer stream de vídeo externo?

  • Autor Autor Lautoe
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
Lautoe

Lautoe

Curioso
Usuário com poucas negociações! Use sempre o saldo do 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);
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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!
 
Voltar
Topo