Hasta ahora para ver la emisión de las cámaras utilizaba xawtv. Con este programa abría el dispositivo de vídeo en que Motion, via vloopback, vuelca el streaming de vídeo y sin más complicaciones veía en tiempo real lo que estaba monitorizando Motion.

Ayer se me ocurrió hacerme un script con Dzen2 para hacer más cómodo el acceso a las cámaras, sin tener que abrir la consola de texto, y como soy fan de mplayer (hoy más que ayer) decidí reemplazar el uso de xawtv por mplayer.
Sabia decisión. El rendimiento y consumo de CPU que hacía Xawtv con las ocho cámaras abiertas es muy bajo, aprox. 4-5% ( -nodga -noxv ), pero con mplayer todavía más ridículamente bajo, moviendose entre un 0% y 1%. (si ya sabía yo que me gustaba mplayer por algo)

Una captura de pantalla


Carga retrasada de blip

La cadena para abrir el vídeo emitido por Motion vía vloopback esmplayer tv:// -tv device=/dev/video13:driver=v4l:width=320:height=240:fps=24 (es obligatorio el uso de width, height y fps) Como actualmente dispongo de ocho cámaras, los dispositivos de salida de video vloopback van desde el device13 al device27 de dos en dos (13,15,17,…).
Con lo cual es script contiene:!/bin/sh
FONT='-*-fixed-medium-*-*-*-12-*-*-*-*-*-*-*'
(echo "camaras"; {
c=1
for n in `seq 13 2 27`; do
echo "^p(20)camara $c^p(200);mplayer tv:// -tv device=/dev/video$n:driver=v4l:width=320:height=240:fps=24 -quiet"
c=$(expr $c + 1)
done })|dzen2 -x 10 -y 200 -w 120 -sa l -fn $FONT -l 8 -p -m

No es muy elegante, pero funciona.