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: 192.168.1.75. Netmask: 255.255.255.0. Gateway: 192.168.1.1. Name server address: 192.168.1.1.
-When box ask software to install, only choose OpenSSH.
Finish install, reboot box.
Logon and enable root account.
Exit then logon with root and latter do everything with root too.
Update box:
Code:
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:
Code:
nano /etc/modprobe.d/bttv.conf
Cut and paste this quote into file then save and exit:
Quote:
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:
If it works, the quote like this:
Quote:
/dev/video0 /dev/video2 /dev/video4 /dev/video6
/dev/video1 /dev/video3 /dev/video5 /dev/video7
|
3/-Install zoneminder:
Make Pada scrip:
Cut and paste this quote into file then save and exit:
Quote:
#!/bin/sh
# 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
fi
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)
mb=1048576
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"
else
echo "-- Recommended: kernel.shmmax = $shmmax B = $shmmax_mb MB"
echo "-- Recommended: kernel.shmmall = $shmall pages"
file=/etc/sysctl.conf
if [ "`grep "^kernel\.shmmax" $file -c`" != "0" ]; then
echo "-- Replacing: kernel.shmmax in $file"
sed "s/^kernel\.shmmax.*$/kernel.shmmax=$shmmax/g" -i $file
else
echo "-- Adding: kernel.shmmax to $file"
echo kernel.shmmax=$shmmax >> $file
fi
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
else
echo "-- Adding: kernel.shmall to $file"
echo kernel.shmall=$shmall >> $file
fi
echo "-- Using: new sysctl values"
sysctl -p
fi
# Done
echo "--- Done."
|
Make pada.sh can execute:
Install Zoneminder:
Add www-data user:
Code:
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:
Quote:
|
-f mp4 -vcodec libx264 -vpre default -an -threads 0
|
Delete everything at FFMPEG_FORMATS and replace with:
Quote:
|
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.
Thanks:
http://www.zoneminder.com
http://www.ubuntu.com
Chris "Pada" Kistner
http://blog.mysqltuner.com
Recent comments
7 hours 21 min ago
12 hours 13 min ago
21 hours 6 min ago
22 hours 5 min ago
1 day 1 hour ago
1 day 3 hours ago
1 day 6 hours ago
1 day 13 hours ago
1 day 22 hours ago
2 days 23 min ago