Como hacer un snapshot de un video con FFmpeg


Bueno yo me pase un buen rato (mejor dicho dias) tratando de ver como usar FFmpeg para poder sacar un thumb (una imagen) desde un video, me pase tiempo buscando como es que se instala FFmpeg para Window, que liazo, nadie dice que solo se baja la complilacion que existe para windows, se decomprime donde se quiera (me imagino que sera mejor dentro del documentRoot del server no?).

Download de la compilacion para windows: Download aqui

  1. Descomprimir en el directorio deseado (claro dentro de nuestro documentRoot y dentro de nuestro directorio del website)
  2. ya!

Entonces:

Como hacer un snapshot de un video cualquiera (digase .flv, .avi, .wmv. etcccc)

simple y llanamente si abrimos en CMD (DOS) o Command Line (to eso es lo mismo) y navegamos entre directorios para situarnos en el mismo directorio de FFmpeg (osea dentro de ese directorio) , estando ahi escribimos lo siguiente:

ffmpeg -i video.wmv -t 00:00:10 -ss 00:00:10 -vframes 1 foto%d.jpg

esto debe crear una imagen llamada foto1.jpg.

si lo vamos hacer por php seria lo mismo usando la funcion exec(“ffmpeg -i video.wmv -t 00:00:10 -ss 00:00:10-vframes 1 foto%d.jpg”);

bueno ya luego seguire con otras cosas….hasta ahora ahi vamos bien.!

Saludos

Anuncios

28 comentarios on “Como hacer un snapshot de un video con FFmpeg”

  1. DieBeck dice:

    Gracias.

    Buscaba precisamente esto y apareciste de primero en el Google.

    Sólo un comentario:
    donde dices:
    ffmpeg -i video.wmv -t 00:00:10 -ss 00:00:10 -vframes 1 foto%d.jpg
    Creo que se te coló una variable del proceso por lotes que debes haber usado….

  2. Mauricio dice:

    Buenas, quería consultarte como haces para usar el ffmpeg desde php, ya que probé y no logro hacerlo funcionar, tengo un server dedicado y puedo hacer cualquier configuración, pero no logro que funcione desde php, mientras que desde cmd si funciona, talvéz algún problema de permisos… he probado varias cosas y no hay caso.
    Gracias.

  3. Yordanis dice:

    Me gustaria saber como poder trabajar con estoy en C#

  4. asinox dice:

    mauricio si te funciona desde CMD pues significa que tu problema esta relacionado a como lo estas usando desde PHP, aunque en realidad no difiere en nada.
    Lo que te recomiendo es que hagas una prueba sencilla, trata de llevar un video a otro formato desde php
    $video_original = “video.mpeg”;
    $video_convertido = “video_2.avi”;
    $exe = exec(ffmpeg -i $video_original $video_convertido);

    si eso te funciona, pues todo bien.

  5. asinox dice:

    Yordanis, pues es igual que lo anterior, es solo usar la funcion de C# que sirva para ejecutar comandos via consola, luego es igual

    ffmpeg -i archivo-original.mpeg archivo_copia.avi

  6. juanmboehme dice:

    Tengo que ponerme en esto, espero poder algún día…

  7. Juan dice:

    tengo una duda, estoy tratando de transformar de .wmv a .avi con ffmpeg y me
    sale lo siguiente
    swScaler: Unknown format is not supported as input format
    Cannot get resampling context

    el comando que use es “ffmpeg -i captura.wmv captura2.avi”

    si tienes alguna sugerencia te lo agreadecería infinitamente

    gracias.

  8. Juan dice:

    tengo una duda, estoy tratando de transformar de .wmv a .avi con ffmpeg y me
    sale lo siguiente
    swScaler: Unknown format is not supported as input format
    Cannot get resampling context

    el comando que use es “ffmpeg -i captura.wmv captura2.avi”

    si tienes alguna sugerencia te lo agreadecería infinitamente

    gracias.

    PD:disculpa si aparece mas de una vez, pero no se si esta funcionando esto o no

  9. Mauricio dice:

    Gracias, pero atravez del comando exec o similar de PHP no pude, por suerte encontré una alternativa:
    $sentencia=”ffmpeg -i $video -ss $segundos -vframes 1 $archivo”;
    $WshShell = new COM(“WScript.Shell”);
    $WshShell->Exec($sentencia);

  10. Asinox dice:

    Ah, igual no se por que no te funciona en windows, yo lo uso localmente para convertir cualquier video que bajo o saco del celular…. pero esta otra forma est a interesante 🙂

    Gracias

  11. Juampi dice:

    Hace tiempo estoy buscando foros dónde hablen de ffmpeg en español… no es nada fácil…. La versión compilada que está en el link que posteo Asinox no me funciona… no sé por qué? 😦 primero me daba un error de windows que logré solucionar luego de reinstalar windows XP SP2. Pero igual no me funciona… simplemente no hace nada… ni ffmpeg.exe, ni ffplay.exe. Seguramente tiene que ver con librerias del API de Windows… o con los dll que trae el FFmpeg, pero no sé cómo solucionarlo… Vi que en varios foros muchos otros tienen el mismo problema pero nadie tiene la respuesta. 😦 Si alguno sabe la solución se lo agradecería mucho… Saludos! (Buen dato el del thumb sobre todo para implementarlo en PHP)

  12. asinox dice:

    ok, Juampi, y cual es el error?

    voy a preparar un tutorial bien hecho sobre FFmpeg, igual me acabas de dar la idea sobre el foro…vere que hacer, no soy experto en ffmpeg, pero he hecho mis cositas, asi que vamos a meterle mano con el foro y asi aprendemos todos.

    cual era el error???

  13. Juampi dice:

    😮 Que rápido contestas! Gracias!
    El error que me salía al principio era “ffmpeg.exe ha detectado un problema y debe de cerrarse.” Pero luego de reinstalar mi Windows no tuve más ese error… pero ahora simplemente cuando lo uso no hace nada… Pensé que podría ser problema de sintáxis cuando escribo el comando… pero tampoco funciona en el programa de http://www.vdownloader.es que utiliza FFmpeg para convertir los formatos.
    Aclaro que el programa se ve que funciona… (de hecho en la computadora de la oficina me funciona), así que el problema está en mi compu, pero no sé cómo solucionarlo.
    Por lo visto FFmpeg es una herramienta muy potente. Cuando disponga de más tiempo voy a hacer algunas pruebas bajo linux a ver si me funciona.
    Saludos!

  14. asinox dice:

    Pues si, tu mismo lo has dicho , el problema esta en tu pc… y como dices, si FFmpeg es muy potente, yo en casa lo uso para convertir lo que sea…
    com te dije… vere que hago para poner un foro en español

    Saludos

  15. edwuard dice:

    epale mis pana yo tambien tengo problema con el ffmpeg pues quiero pasar un video de .flv a .avi
    busco programas y todos tienen ese problema, reinstale mi pc y sigue el mismo problema, cual es la version que a ustedes le sirve y si pueden poner el link para bajarlo y probarlo xq he probado de todo y nada
    otra cosa, ffmpeg necesita algun codec o alguna otra cosa ?

  16. asinox dice:

    edwuard no te haga lios, solo bajate la compilacion para windows, y lo unico que tienes que tienes que hacer (al menos asi lo hago yo), es un directorio dentro del directorio de FFmpeg y alli metes el video, luego solo tienes que abrir el DOS y te metes al directorio de FFmepg (via DOS).

    Luego solo escribes ffmpeg -i video.lv video.avi

    es todo hermano 🙂

  17. Ramiro dice:

    Hola, desde ya muchas gracias por tu ayuda, estuve buscando por internet esta vendita funcion, pero bueno, ahora es porque estare medio quemado la cabeza o que pero no puedo descomprimir el ejecutable que se descarga, tenes idea porque puede ser?
    Mil gracias!

  18. Ramiro dice:

    Listo, ya lo pude hacer, perdon!, es que estoy medio limao!

  19. Mauricio dice:

    Buenas este es un lindo programa para usar ffmpeg http://www.winff.org/
    Ahora tengo una consulta por si alguno sabe… Necesito que cuando capturo una imagen del video que lo haga en el tamaño que desee.
    Gracias

  20. antonio dice:

    Tengo un mp4 marca Elbe, modelo MP-822. Cuando quiero ejecutar un fichero de video con el convertidor AVIConverter me sale una subventana donde dice: Mencoder.exe ha detectado un error y debe cerrarse.
    Si me pueden ayudar muchas gracias

  21. Javier dice:

    Yo lo uso en mi web aun en fase de desarrollo

  22. pedrog dice:

    Muy bueno, muchas gracias, voy a probarlo.

  23. dian dice:

    El codigo necesario en php para poder convertir un video avi a flv seria:

    exec(‘ffmpeg -i video.avi video1.flv’);

    sin más.

  24. Ethereal dice:

    hola, tengo una duda respecto a la herramiento vhook para marcas de agua, en el compilado que baje para windows no esta habilitada esta libreria, alguien sabe si hay alguna version compilada ? para el uso de vhook.

  25. charts dice:

    Hola amigos, me parece interesante el tema, pero tengun una muy grande duda, al igual que Etherreal no puedo ejecutar mi aplicacion con el parametro vhook sobre windows, existira alguna forma de suplantarlo o de que se pueda ejecutar por que segun se ese parametro no sirve para windows. El caso es que quiero insertarle texto a mi video con una aplicacion desarrollada en C++, el problema es ese que dependo de ese parametro. Espero me puedan ayudar

  26. Jorge dice:

    gracias por los tips, ya me funciona gracias Asinox


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s