Foros del Web » Programando para Internet » PHP »

Averiguar duración de video con PHP?

Estas en el tema de Averiguar duración de video con PHP? en el foro de PHP en Foros del Web. Hola amigos, Tengo la siguiente duda. No sé nada de PHP estoy montando este script para un formulario. El mismo es para subir archivos al ...
  #1 (permalink)  
Antiguo 13/04/2009, 13:39
Avatar de bex
bex
Colaborador
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 2.484
Antigüedad: 20 años, 9 meses
Puntos: 34
Averiguar duración de video con PHP?

Hola amigos,

Tengo la siguiente duda. No sé nada de PHP estoy montando este script para un formulario. El mismo es para subir archivos al servidor por parte de los usuarios, en este caso en particular, videos.

Mi duda es la siguiente: hay alguna forma con PHP de averiguar la duración de los videos para validar?

Muchas gracias!
  #2 (permalink)  
Antiguo 13/04/2009, 13:44
Avatar de duskrow  
Fecha de Ingreso: abril-2008
Mensajes: 267
Antigüedad: 16 años
Puntos: 8
Respuesta: Averiguar duración de video con PHP?

con java script puedes ver, acer un script para vber el video con el reproductor de windos emdia player, en la web , y pudes ver el total m restante , transcurrido
  #3 (permalink)  
Antiguo 13/04/2009, 16:26
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Respuesta: Averiguar duración de video con PHP?

No, desconozco que PHP pueda acceder a dicha información, más bien te diriía que no puede.
Lo que yo haría en tu caso, partiendo de la base de que con PHP no se accederá a la duración del video, es restringir el peso de los videos aplicando un tamaño máximo de archivo.


Eso lo haces así:

Código PHP:
$tamano_archivo $_FILES['userfile']['size'];
// ó
$tamano_archivo $HTTP_POST_FILES['userfile']['size']; 


De hecho es bastante simple, pero ya que trabajarás con ficheros muy pesados como son los videos debes tener muy claro como funcionan los sistemas.

PHP trabaja exclusivamente desde el servidor por lo que para pesar un video, para saber si sobrepasa el límite, antes el mismo tiene que estar alojado en el servidor, es decir que el video debe subirse completamente antes de pesarlo.
Cuál es el problema? El problema es que al tener que subir todos los videos, por lo menos para pesarlos, estás consumiendo mucho ancho de banda. Toma en cuenta que subirás cada video. Y si alguien sube un video de 1GB, tu habrás subido 1GB, no importa que luego lo borres, el ancho de banda ya se consumió.




Espero que esta información te sea de ayuda.
Saludos
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)

Última edición por marcosr; 13/04/2009 a las 17:03
  #4 (permalink)  
Antiguo 13/04/2009, 16:45
Avatar de bex
bex
Colaborador
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 2.484
Antigüedad: 20 años, 9 meses
Puntos: 34
Respuesta: Averiguar duración de video con PHP?

Gracias Marcosr, tu info me es de mucha ayuda. Si mirás el código que estoy usando para el form en el enlace, verás que allí dice que primero hace la comprobación y después lo sube al servidor. Es esto posible? Gracias!
  #5 (permalink)  
Antiguo 13/04/2009, 17:03
Avatar de marcosr  
Fecha de Ingreso: agosto-2005
Ubicación: Montevideo, Uruguay
Mensajes: 451
Antigüedad: 18 años, 8 meses
Puntos: 5
Respuesta: Averiguar duración de video con PHP?

Cuando comienza a ejecutarse el código que aparece en desarrolloweb, el fichero ya está subido, no se encuentra "utilizable" pero ya fue transferido.
Es por esto que se puede pesarlo, saber el nombre, etc.


Un detalle importante que puedes notar si eres detallista es que la función final, la que coloca al fichero en la carpeta destino es "move_uploaded_file", al traducir el nombre literalmente queda "mover_archivo_subido". Otra cosa es que la variable utilizada para mover al archivo es:

$_FILES['nombre_campo_file']['tmp_name'] (tmp_name ~= nombre_temporal)



Bueno, espero haberte aclarado la duda y no haberte complicado más.
__________________
Yo hago preguntas inteligentes para obtener respuestas rapidas, y vos?
(únete a la campaña !)
  #6 (permalink)  
Antiguo 13/04/2009, 19:11
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Averiguar duración de video con PHP?

bex:

En este enlace tienes un codigo para saber
la duracion de un FLV archivo.

http://snipplr.com/view/4420/get-tim...sh-video-file/

Saludos
Franco
  #7 (permalink)  
Antiguo 13/04/2009, 21:05
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Averiguar duración de video con PHP?

Con ffmpeg puedes conocer la duración de un vídeo. Es una librería para Linux (Independiente de PHP), pero usando system() puedes ejecutar los comandos necesarios para saber la duración del vídeo.
  #8 (permalink)  
Antiguo 15/04/2009, 23:35
Avatar de bex
bex
Colaborador
 
Fecha de Ingreso: julio-2003
Ubicación: Buenos Aires
Mensajes: 2.484
Antigüedad: 20 años, 9 meses
Puntos: 34
Respuesta: Averiguar duración de video con PHP?

Gracias por la aclaración marcosr. Gracias franco y ronruby, voy a estar revisando las opciones que me sugieren.
  #9 (permalink)  
Antiguo 25/10/2009, 12:52
 
Fecha de Ingreso: octubre-2009
Mensajes: 3
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Averiguar duración de video con PHP?

hola
Una manera Facil y rapida para saber la duracion del video es usando la libreria ffmpeg-php.
Lo malo es que deberas tener acceso al servidor para intalarla o tener un hostng que la tenga ya instalada ( hay bastantes actualmente).

$movie = new ffmpeg_movie( path_al_video);
$movie->getDuration();


Es algo liosa su instalacion , mas que nada por algunas incompatibilidades entre versiones de codesc programas y distribucionsde de linux.

espero que te sirva de orientacion.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 20:50.