Ejecutar un archivo de video desde una página PHP

Kaorentin Mensajes publicados 182 Estado Miembro -  
avion-f16 Mensajes publicados 19182 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

He montado un pequeño sitio en local para reunir vídeos. Así que se puede navegar entre los vídeos a través de sus carátulas. Lo he agrupado todo en una base de datos MySQL.

En fin, ese es el contexto.

Aquí está mi problema:

Me gustaría abrir un vídeo desde el navegador. Solo que, después de mucha prueba y error, conseguí lanzar un vídeo, pero no hay sonido.

Aquí está el código utilizado:

// page.php //

<?php echo ""; ?>

// aquí, estamos en la página del vídeo en cuestión, al hacer clic en el enlace, se abre read.php con el parámetro del vídeo en cuestión.

// read.php //

<?php
exec($_GET['file']);
?>

// simplemente así!

¿Debo añadir una indicación para que también se reproduzca el audio? (¡me parece alucinante!)

Gracias de antemano por vuestras respuestas!

Corentin.

Configuración: Windows 7 / Firefox 4.0.1

1 respuesta

  1. avion-f16 Mensajes publicados 19182 Fecha de registro   Estado Colaborador Última intervención   4 513
     
    Hola,

    La función exec() sirve para ejecutar un comando, un programa.
    https://www.php.net/manual/fr/function.exec.php

    Intenta más bien con readfile().
    Y si el problema del sonido persiste, entonces es que el navegador no tiene los plugins necesarios para leer el códec del sonido.
    --
    El pensamiento guía al mundo.
    0
    1. Kaorentin Mensajes publicados 182 Estado Miembro 9
       
      Gracias por tu respuesta!

      Desafortunadamente, ahora, cuando ejecuto el archivo, hay sonido pero VLC ya no se abre...
      En fin, se abre en segundo plano, pero no se muestra :/

      Y no es posible verlo :s

      ¿Existe alguna forma de pasar la ejecución de un programa como parámetro de readfile? Algo tipo readfile(exec(vlc), video.avi) (más o menos).
      0
    2. avion-f16 Mensajes publicados 19182 Fecha de registro   Estado Colaborador Última intervención   4 513
       
      readfile() lee el archivo y lo devuelve al navegador, exactamente como si pidieras directamente el archivo desde el navegador, sin pasar por PHP.

      Si quieres abrir VLC, entonces intenta más bien con esto :
      exec('C:\Chemin\vers\vlc.exe C:\Chemin\vers\video.avi');
      Que no te confundas, no se trata de indicar las dos rutas por separado, sino de indicar el programa VLC que recibe como parámetro el archivo a abrir.
      0
    3. Kaorentin Mensajes publicados 182 Estado Miembro 9
       
      Sí, ese exec que me indicas, es lo que hacía al inicio, sin éxito...
      Siempre ese problema de sonido! Veo bien la video se reproduce en VLC, pero sin sonido :/
      (por cierto, digo VLC, pero me pasa lo mismo con MPC y otros).

      Y en cuanto al readfile que solo me lee el sonido, tengo este error:

      Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 734361601 bytes) in C:\wamp\www\cmdb\all\read.php on line 3

      Sabiendo que mi read.php solo contiene

      <?php
      readfile($_GET['file']);
      ?>
      0
    4. avion-f16 Mensajes publicados 19182 Fecha de registro   Estado Colaborador Última intervención   4 513
       
      Acabo de intentarlo con exec() y funciona muy bien.
      <?php define('VLCBIN', '"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe"'); define('MOVIE' , '"C:\Users\user\Desktop\test.avi"'); exec(VLCBIN.' '.MOVIE); ?>
      Las comillas dobles están ahí por una razón :
      Las comillas simples (apóstrofos) se usan para contener la cadena de caracteres
      Y las dobles, que se enviarán a Windows, se emplean para usar espacios en las rutas.
      Por lo tanto Windows recibe esto (sin salto de línea) :
      "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "C:\Users\user\Desktop\test.avi"
      0
    5. Kaorentin Mensajes publicados 182 Estado Miembro 9
       
      Es curioso... Hice exactamente tus instrucciones, el mismo archivo PHP: VLC se inicia en segundo plano, escucho la película, pero no se abre ninguna ventana de VLC :/
      ¿Tu VLC se abre contigo?
      0