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 -
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
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
-
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.-
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). -
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. -
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']);
?> -
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"
-
-