Merry Christmas from Puffy – the destroyer of worlds!

Merry Puffmas

Photos of Ruse and its landmarks

In my line of work as a web designer/developer I’ve learned to silently detest Internet Explorer, especially version 6, so today I decided to check out the analytics of my web sites, how much of the visitors would I be cutting off if I decide to drop IE6 support for the future. I checked several sites – totally different audience, markets, etc. All showed about the same result – 7% of all total visitors were using IE6, and IE6 was the least used of the IE family. Except for one site which had about 9.6%, but it was targeted at the wider Bulgaria population – demographics that I presume has mostly outdated hardware running XP’s.

I was delighted to see’s demographics – IE was third, after Firefox and Chrome, with just about 11%! IE6 accounts for just 1.5% of the visits! Yes! This site looks awful in IE6, and NO! I don’t care, if you’re visiting with IE6 you’ll see a friendly greeting informing you that does not support IE6 and the visitor should upgrade! Also the dominant OS of the visitor is … Linux! Even more joy for my web designer heart! But then again I’m not really surprised, given that 65% of the visits start at my article for ZoneMinder on Ubuntu 10.04!

I surely hope that sometime soon I can get back to my ZoneMinder project and present to you part 2 of the series that will turn the video server into a CCTV terminal!

What you need:

  1. The Ubuntu mini CD
  2. A linux and ZoneMinder-supported capture card
  3. A PC

Let’s start!

  1. Install Ubuntu
  2. After the base system is installed install ssh (always good to have) and ZoneMinder

    user@ubuntu:~$ sudo apt-get install openssh-server zoneminder

  4. Add the www-data user to the ‘video’ group to access the video streams from the web interface:

    user@ubuntu:~$ sudo usermod -a -G video www-data

  5. Make Apache automatically start the ZoneMinder web interface and restart Apache:

    user@ubuntu:~$ sudo ln -s /etc/zm/apache.conf /etc/apache2/sites-enabled/001-zoneminder
    user@ubuntu:~$ sudo service apache2 restart

  6. At this point you should be able to open ZoneMinder’s web interface by pointing your browser to http://IP-OF-ZONEMINDER-SERVER/zm/
  7. Download Cambozola to be able to view the live streams from any Java enabled browser in case the Flash viewer does not work for you:

    user@ubuntu:~$ wget
    user@ubuntu:~$ tar -zxvf cambozola-latest.tar.gz
    user@ubuntu:~$ sudo cp cambozola-0.76/dist/cambozola.jar /usr/share/zoneminder/

    Please note: As of writing this cambozola version 0.76 is the latest one, hence if you get a newer version you should change to the respective directory.

  8. It’s time to add your cameras – it’s best to first read ZoneMinder’s defining a monitor documentation
  9. In the very likely event that you get black/blank screen when you try to view the live feed from your camera, then you should change your maximum allowed amount of shared memory and restart Apache and ZoneMinder:

    user@ubuntu:~$ sudo echo "256000000" > /proc/sys/kernel/shmmax
    user@ubuntu:~$ sudo service apache2 restart
    user@ubuntu:~$ sudo service zoneminder restart

    How to calculate that magic number (256000000 in my case) is discussed in this thread in the ZoneMinder’s forums. It’s best to read it and calculate the amount yourself, as this is highly dependent on the cameras that you intend to use.
    In order to add the change permanently you’ll need to edit /etc/sysctl.conf and add a line kernel.shmmax = 256000000 to it.
    If you are still getting no image you should check your cameras and how you set them and experiment with the Device format and Capture palette.

  10. You’re all set!

It might be a good idea to slightly tweak some configuration options. You can do that from the Web Interface’s options menu – it is located in the upper right corner, just below the load/disk-usage monitor and it took me quite a while to find it.

  1. Options -> Image -> OPT_CAMBOZOLA set to TICKED
  2. Options -> Image -> STREAM_METHOD set to mpeg

I plan to implement also a Live View monitor so stay tuned for the next HOWTO.