Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

Streaming de una webcam con ffmpeg

votar
Archivado en Software con fecha 16/Jul/2009 - 3 comentarios

Para controlar a este bicho mientras no estoy en casa, pensé en usar la webcam en streaming para poder conectarme desde cualquier lado con el móvil y ver qué está haciendo. Tras mirar varias alternativas, me decidí por ffmpeg por la cantidad de formatos en los que se puede emitir, además de ser relativamente fácil de configurar.

La emisión se basa en dos ejecutables: ffserver y ffmpeg. El primero se ejecuta en modo escucha y se encarga de hacer el streaming real mientras que el segundo le envía la imagen al primero.

Para empezar, es necesario crear un archivo de configuración tomando como base /etc/ffserver.conf, dejándolo como sigue:

Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -

<Feed webcam.ffm>
	File /tmp/webcam.ffm
	FileMaxSize 5M
</Feed>

<Stream webcam.swf>
	Feed webcam.ffm
	Format swf
	VideoBitRate 320
	VideoFrameRate 15
	VideoSize 640x480
	NoAudio
	VideoQMin 1
	VideoQMax 3
</Stream>

<Stream stat.html>
	Format status
</Stream>

<Redirect index.html>
	URL http://www.ffmpeg.org/
</Redirect>

Una vez configurado, es necesario lanzar el servidor con el comando:

ffserver -f ffserver.conf

Ahora sólo quedaría enviar la imagen al servidor con el comando ffmpeg y se puede utilizar cualquier entrada para redireccionarla al servidor. Por ejemplo, en el caso de una webcam, una capturadora de TV o cualquier entrada de vídeo, el comando sería:

ffmpeg -r 15 -s 320x240 -f video4linux -i /dev/video0 http://localhost:8090/webcam.ffm

Con mi cámara web Logitech Quickcam Messenger y el driver gspca me encontré con este error:

[flv @ 0x97df6f0]rc buffer underflow
VIDIOCMCAPTURE: Invalid argument

Que pude solucionar añadiendo lo siguiente antes del comando ffmpeg:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

Si todo va bien, podremos ver la imagen emitida con el navegador, ya que creará un objeto Flash automáticamente :)

Convertir vídeos a MP4 para Symbian con ffmpeg

votar
Archivado en Symbian con fecha 9/Mar/2009 - 2 comentarios

Como siempre, la mayoría de software de Nokia está sólo disponible para Windows o como mucho para Mac OS X (lo único que hacen multiplataforma es algún kit de desarrollo), y con su software de conversión de vídeo no iban a ser menos. Pero como siempre, hay alternativas libres y en este caso la mejor alternativa es ffmpeg, un potentísimo conversor de vídeo y audio multiplataforma.

La idea es convertir cualquier vídeo para que un teléfono Symbian sin software extra pueda reproducirlo, manteniendo una calidad decente. Como estos teléfonos integran un reproductor RealPlayer que reproducen el formato MP4, podremos convertir cualquier vídeo en formato 16:9 para Nokia 5800 con el siguiente comando:

ffmpeg -i video.flv -f mp4 -vcodec mpeg4 -b 256000 -r 15 -s 640x360
         -acodec libfaac -ar 48000 -ab 128 -ac 2 video.mp4

Para un Nokia con pantalla 320×240 se usaría:

ffmpeg -i video.flv -f mp4 -vcodec mpeg4 -b 256000 -r 15 -s 320x240
         -acodec libfaac -ar 48000 -ab 128 -ac 2 video.mp4

Luego sólo queda transferir el vídeo al teléfono via USB o Bluetooth y listo :)

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons