Captura de un frame de un vídeo
1 Abril, 2006
Hoy se me ha planteado un problema, debía obtener una captura en un formato válido para web (jpg, png, gif) de un vídeo cualquiera, ya sea avi, wmv, mov de forma automatizada, es decir, yo le paso a un programa el nombre del vídeo y saca el screenshot.
Recordaba que mplayer permitía muchos formatos de salida de vídeo, fbdev, x11, sdl… y también recordaba haber visto jpeg. Así que voy a confirmarlo…
mplayer -vo help
Y soporta todos los formatos mencionados (jpg, gif, png) y otros como tga. Ahora, si me permite indicarle una posición para empezar a reproducir y que reproduzca sólo un frame, ya lo tengo todo solucionado.
La opción para indicar dónde comenzar a reproducir es “ss” y para capturar un sólo frame se puede hacer con el parámetro “frames” así que ya lo tengo:
mplayer video.avi -ss 60 -frames 1 -vo jpeg
Esto captura un frame del “video.avi” en el segundo 60 y lo guarda como 0000001.jpg
Ahora puedo llamar a este comando desde cualquier lenguaje de programación y obtener fácilmente un screenshot del vídeo.
18 Julio, 2006 a las 5:34 pm
[...] Extra: Cómo capturar un frame de video con mplayer. [...]