Hmm. Previously, I build two nice webcam-servers out of Fonera 2.0g boxes (German posts: 1 & 2). cpuinfo of the Foneras is as follows:
root@cam-serv3:~# cat /proc/cpuinfo
system type : Atheros AR2315
processor : 0
cpu model : MIPS 4KEc V6.4
BogoMIPS : 183.50
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : no
ASEs implemented :
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
There I run two jobs, for /dev/video0 and /dev/video1, of mjpg_streamer -i input_uvc.so -f 10 -r 960x720 ..., which results in this top output:
Mem: 19836K used, 10080K free, 0K shrd, 1140K buff, 6096K cached
CPU: 19% usr 11% sys 0% nice 1% idle 0% io 31% irq 34% softirq
Load average: 2.57 2.51 2.45
PID PPID USER STAT VSZ %MEM %CPU COMMAND
1518 1064 root R 8732 29% 33% mjpg_streamer -i input_uvc.so -d /dev
1517 1060 root R 8572 29% 26% mjpg_streamer -i input_uvc.so -f 10 -
1065 1064 root R 8732 29% 20% mjpg_streamer -i input_uvc.so -d /dev
1061 1060 root S 8572 29% 7% mjpg_streamer -i input_uvc.so -f 10 -
1577 1520 root R 1960 7% 6% top -d 2
1519 933 root S 1996 7% 1% /usr/sbin/dropbear -p 22
1064 1058 root S 8732 29% 0% mjpg_streamer -i input_uvc.so -d /dev
1058 1 root S 8732 29% 0% mjpg_streamer -i input_uvc.so -d /dev
1067 1064 root S 8732 29% 0% mjpg_streamer -i input_uvc.so -d /dev
1060 1056 root S 8572 29% 0% mjpg_streamer -i input_uvc.so -f 10 -
1056 1 root S 8572 29% 0% mjpg_streamer -i input_uvc.so -f 10 -
1066 1060 root S 8572 29% 0% mjpg_streamer -i input_uvc.so -f 10 -
1055 1 root S 1976 7% 0% udhcpc -t 0 -i ath0 -b -p /var/run/at
520 1 root S 1972 7% 0% udhcpc -t 0 -i eth0.1 -b -p /var/run/
[...]
Recently I joined the MR3020 hype, them being quite similar to the Fonera 2.0g systems, i. e. Atheros-based, supported by OpenWR, rather cheap (<30 EUR) and with USB; only drawback is the ridiculously small on-board Flash:
root@cam-serv5:~# cat /proc/cpuinfo
system type : Atheros AR9330 rev 1
machine : TP-LINK TL-MR3020
processor : 0
cpu model : MIPS 24Kc V7.4
BogoMIPS : 265.42
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0280, 0x05d0, 0x0630]
ASEs implemented : mips16
shadow register sets : 1
kscratch registers : 0
core : 0
VCED exceptions : not available
VCEI exceptions : not available
But to my big disappointment, running even only one process of mjpg_streamer, /usr/bin/mjpg_streamer --input input_uvc.so --device /dev/video0 --fps 1 --resolution 1280x720 ..., seems to max the system out, and anything above 1 fps, I tested 2, 5, 10, gives quite chopy images, distorted in odd ways. top says:
Mem: 25868K used, 3308K free, 0K shrd, 1412K buff, 5392K cached
CPU: 0% usr 0% sys 0% nic 97% idle 0% io 0% irq 0% sirq
Load average: 0.06 0.11 0.11 1/41 1542
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
1514 1 root S 24424 84% 0% /usr/bin/mjpg_streamer --input input_
1541 1431 root R 1496 5% 0% top -d 2
1430 1362 root S 1216 4% 0% /usr/sbin/dropbear -P /var/run/dropbe
1431 1430 root S 1504 5% 0% -ash
592 1 root S 1504 5% 0% /sbin/syslogd -C16
1140 1 root S 1504 5% 0% /sbin/udhcpc -t 0 -i wlan0 -b -p /var
...
So, it does not seem to be a CPU limitation; the CPU should be even more powerful than the Fonera’s, and the minor increase in resolution, 1280×720 instead of 960×720, should be compensated by far by the two USB cams served by the Fonera. Any opinions or tips?