siguen las pruebas
Hola de nuevo, sigo con las pruebas de streaming de vídeo desde RaspberryPi. Si haces una búsqueda en Google, verás que hay cientos de webs, foros y blogs sobre este tema "how to streaming webcam from RaspberryPi". Tras leer unos cuantos ... la verdad es que no me queda nada claro. Funcionar, funcionan todos pero ... ¿cual es la mejor opción? A continuación mis pruebas con FFSERVER/FFMPEGEn este post, comentaba lo fácil y los "aceptables" resultados de mjpg-streamer. Ahora voy a probar FFserver, es algo más complejo y necesita más tiempo. Se compone de dos partes:
- FFserver, que es el servidor streaming en si mismo, es donde configuraremos usuarios y claves, puertos, ips permitidas ...
- FFmpeg, que lo hemos usado en otras ocasiones, y ahora su función es capturar las imágenes y ajustarles el formato y demás parámetros.
Para asegurarnos de que tenemos la última versión, vamos a hacer una compilación, voy a seguir las instrucciones de esta web:
- Añadimos a /etc/apt/sources.list:
- deb-src http://www.deb-multimedia.org sid main
- deb http://www.deb-multimedia.org wheezy main non-free
- Recargamos: apt-get update
- Instalamos: apt-get install deb-multimedia-keyring
- De nuevo en el archivo sources.list eliminamos la línea:
- deb http://www.deb-multimedia.org wheezy main non-fre
- Cambiamos de directorio: cd /usr/src/
- Bajamos las fuentes con: apt-get source ffmpeg-dmo
- cd ffmeg-dmo-1.0.1 (ojo!)
- ./configure && make && make install
al ejecutar "make" se ha quedado compilando durante tres horas, así que paciencia. Editamos/creamos el archivo /etc/ffserver.conf
Port 88 BindAddress 0.0.0.0 MaxClients 1 MaxBandwidth 5000 NoDaemon <Feed webcam.ffm> file /tmp/webcam.ffm FileMaxSize 10M </Feed> <Stream webcam.mjpeg> Feed webcam.ffm Format mjpeg VideoSize 640x480 VideoFrameRate 5 VideoBitRate 1000 VideoQMin 1 VideoQMax 10 </Stream>
y ahora lanzamos ffserver:
ffserver -f /etc/ffserver.conf
si no devuelve ningún fallo, es que esta perfecto, como debe ser. Ahora conectamos la webcam, nos aseguramos que el sistema la reconoce (mira aquí) y empezamos a capturar con:
ffmpeg -v verbose -r 5 -s 640x480 -f v4l2 -an -i /dev/video0 http://localhost:88/webcam.ffm
bueno, sigue cargando la CPU, pero en este caso ronda el 50%, lo marcaremos como "aceptable". Ahora veamos la calidad.
Primero vamos a usar VLC, pulsamos "ctrl+n" y le indicamos:
http://ip_del_raspberry:88/webcam.mjpeg
Y aquí tenemos dos problemas, la calidad y el retraso. La calidad cae bastante y el retraso ronda los 5 segundos, así que no me sirve. Pero os dejo este post, porque seguro que a alguien le viene muy bien, ya que como comento, la carga del micro ronda el 50%.
Y aquí tenemos dos problemas, la calidad y el retraso. La calidad cae bastante y el retraso ronda los 5 segundos, así que no me sirve. Pero os dejo este post, porque seguro que a alguien le viene muy bien, ya que como comento, la carga del micro ronda el 50%.
Muy buenos manuales, muchas gracias!
ResponderEliminarUna propuesta, te has planteado la compilación cruzada (cross-compiling, generar en otro equipo los binarios) para raspberry pi?
He visto manuales para hacerlo para esta plataforma desde diferentes linux (e incluso windows), seguro que se reducirían esas tres horas a una fracción...
Y una comparativa de tiempos de compilación sería muy de tu estilo! :)
Hola, lo e intentado varias veces pero siempre me acaba fallando algo. Tambien es cierto que lo he intentado con programas que tienen muchas dependencias y bastante complejos. A ver si me pongo y me curro un manual en condiciones.
Eliminaro como opción alternativa, utilizar qemu(hay otros emuladores más eficientes?) en un pc. Es bastante fácil utilizarlo cargando la .img de la última versión de wheezy(2012-12-16), aunque al ser un emulador su rendimiento no es tan fluido como un pc puro...
Eliminarbueno, lo dejo que te distraigo de tus objetivos... :)
Buenas! ¿Has probado Motion? Te copio un tuto donde también comenta varias opciones:
ResponderEliminarhttp://www.slblabs.com/2012/09/26/rpi-webcam-stream/
Un abrazo