Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > Linux Forums > HOWTO-Related Questions

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 26th October 2010, 08:44
letsharehowto letsharehowto is offline
Junior Member
Join Date: Dec 2009
Location: Sai gon - Viet Nam
Posts: 12
Thanks: 0
Thanked 12 Times in 8 Posts
Default High quality video security with Ubuntu server 10.10,Zoneminder 1.24.x,cheap DVR card

Today I will tell you how to build video security system with Ubuntu server 10.10, Zoneminder 1.24.x, cheap DVR card, high quality video output.

My box:
-Intel(R) Pentium(R) Dual CPU E2200 @ 2.20GHz, 2 cores
-Memory: 2G
-Dvr card: http://picasaweb.google.com/letsharehowto/DvrCard#

We have 4 step:

-Install Ubuntu server.
-Install bttv driver.
-Install Zoneminder.
-Config Zoneminder.

1/-Install Ubuntu server:

Set up new box Ubuntu server 10.10. If you don't know, you can google.
-When box get dhcp IP address, press Cancel, then input IP manual. In my case, my IP is: Netmask: Gateway: Name server address:
-When box ask software to install, only choose OpenSSH.
Finish install, reboot box.

Logon and enable root account.

sudo passwd root
Exit then logon with root and latter do everything with root too.

Update box:

apt-get update && apt-get upgrade -y
2/-Install bttv driver:

I have one dvr card and my card look like this card: http://www.zoneminder.com/wiki/index.php/Kodicom_8800.
Install bttv driver:

nano /etc/modprobe.d/bttv.conf
Cut and paste this quote into file then save and exit:

options i2c-algo-bit bit_test=1
options bttv gbuffers=16 card=102,102,102,102,102,102,102,102 radio=0,0,0,0,0,0,0,0 tuner=4,4,4,4,4,4,4,4 chroma_agc=1 combfilter=2 full_luma_range=1 coring=1 autoload=0
Reboot box:

Logon with root. Make sure dvr card work:

ls /dev/video*
If it works, the quote like this:

/dev/video0 /dev/video2 /dev/video4 /dev/video6
/dev/video1 /dev/video3 /dev/video5 /dev/video7
3/-Install zoneminder:

Make Pada scrip:

nano pada.sh
Cut and paste this quote into file then save and exit:

# ZoneMinder 1.24.2 installation script
# Copyright (C) 2010 Chris "Pada" Kistner
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.

echo "--- Checking for root privileges..."
if [ "`whoami`" != "root" ]; then
echo Error: This script requires root access
exit 1

echo "--- Installing extra codecs, which includes x264 support..."
apt-get -y install libavcodec-extra-52 libavformat-extra-52 libswscale-extra-0 libavfilter-extra-1

echo "--- Installing ZoneMinder..."
apt-get -y install zoneminder

echo "--- Adding ZoneMinder to Apache2..."
ln -s /etc/zm/apache.conf /etc/apache2/sites-enabled/zoneminder.conf
service apache2 restart

echo "--- Adding alias for zoneminder service and fixing ZoneMinder startup..."
ln -s /etc/init.d/zoneminder /etc/init.d/zm
update-rc.d -f zoneminder remove
update-rc.d -f zm remove
update-rc.d zm defaults 92
service zm restart

echo "--- Correcting SHM to 90% of memory..."
apt-get -y install coreutils bc
page_size=$(getconf PAGE_SIZE)
mem_bytes=$(awk '/MemTotal:/ { printf "%0.f",$2 * 1024}' /proc/meminfo)
mem_bytes_mb=$(expr $mem_bytes / $mb)
shmmax=$(echo "$mem_bytes * 0.90" | bc | cut -f 1 -d '.')
shmmax_mb=$(expr $shmmax / $mb)
shmall=$(expr $mem_bytes / $page_size)
shmmax_cur=$(sysctl -n kernel.shmmax)
shmmax_cur_mb=$(expr $shmmax_cur / $mb)
shmall_cur=$(sysctl -n kernel.shmall)
echo "-- Total memory = $mem_bytes B = $mem_bytes_mb MB"
echo "-- Page size = $page_size B"
echo "-- Current kernel.shmmax = $shmmax_cur B = $shmmax_cur_mb MB"
echo "-- Current kernel.shmall = $shmall_cur pages"
if [ "$shmmax" -eq "$shmmax_cur" ] && [ "$shmall" -eq "$shmall_cur" ]; then
echo "-- Recommended shm values already set"
echo "-- Recommended: kernel.shmmax = $shmmax B = $shmmax_mb MB"
echo "-- Recommended: kernel.shmmall = $shmall pages"
if [ "`grep "^kernel\.shmmax" $file -c`" != "0" ]; then
echo "-- Replacing: kernel.shmmax in $file"
sed "s/^kernel\.shmmax.*$/kernel.shmmax=$shmmax/g" -i $file
echo "-- Adding: kernel.shmmax to $file"
echo kernel.shmmax=$shmmax >> $file
if [ "`grep "^kernel\.shmall" /etc/sysctl.conf -c`" != "0" ]; then
echo "-- Replacing: kernel.shmall in $file"
sed "s/^kernel\.shmall.*$/kernel.shmall=$shmall/g" -i $file
echo "-- Adding: kernel.shmall to $file"
echo kernel.shmall=$shmall >> $file
echo "-- Using: new sysctl values"
sysctl -p

# Done
echo "--- Done."
Make pada.sh can execute:

chmod 744 pada.sh
Install Zoneminder:

Add www-data user:

adduser www-data video
Reboot box:

4/-Config Zoneminder:

On client open Mozzilla web browser. At address type:

If Zoneminder works, the picture like this. (Make sure in the first line, at middle line like this: "ZoneMinder Console - Running - v1.24.2").

( http://picasaweb.google.com/letsharehowto/Running# )

Click Options.

Then click Paths tab.

Check USE_DEEP_STORAGE like this. Click Save button. You will see popup windows, don't worry, click OK button.

( http://picasaweb.google.com/letshare...72769608858962 )

Then click Images tab. Default JPEG_FILE_QUALITY is 70 , change to 100.

Delete everything at FFMPEG_OUTPUT_OPTIONS and replace with:

-f mp4 -vcodec libx264 -vpre default -an -threads 0
Delete everything at FFMPEG_FORMATS and replace with:

mp4 mpg mpeg wmv asf avi* mov swf 3gp**
When you done, click Save button. Then click Cancel.

( http://picasaweb.google.com/letshare...72787070731730 )

Restart Zoneminder: click Running -> choose Restart -> click Apply.

( http://picasaweb.google.com/letshare...artZoneminder# )

Add new monitor: click Add New Monitor button then follow my pictures, when finish click save button.

( http://picasaweb.google.com/letshare...AddNewMonitor# )

Download "HQ" movies: follow these pictures - look at mouse point.

( http://picasaweb.google.com/letshare...oad_HQ_Movies# )

You can download mysqltuner.pl from http://blog.mysqltuner.com/download to make mysql work smooth.


Chris "Pada" Kistner
Attached Files
File Type: txt Install zoneminder.txt (51.7 KB, 463 views)
Reply With Quote
The Following User Says Thank You to letsharehowto For This Useful Post:
falko (27th October 2010)
Sponsored Links


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
php Apps email not going through palkat General 8 21st September 2011 06:35
Statistic not working mzo Installation/Configuration 49 20th April 2011 13:19
Webmail Relay Error palkat General 17 23rd April 2006 19:12
Email - Ueb-Miau mazhar Installation/Configuration 5 21st December 2005 11:01
The Perfect Setup Suse 9.3 - Postfix problems new_bee05 HOWTO-Related Questions 20 25th November 2005 03:30

All times are GMT +2. The time now is 10:46.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.