ระบบ CCTV บน Linux ที่ทำงานได้ดีครับ เผื่อพี่ๆ ท่านไหนจะเอาไปเฝ้าตู้ Colo ใช้งานได้ทั้ง Card CCTV, USB Webcam, IP Camera ครับ
พอดีผมเพิ่งเล่นตัวนี้มาเลยอยาก Share ครับ
เป็นการใช้ Card CCTV กับ Linux OS เป็นครั้งแรก ในที่นี้ผมใช้ Ubuntu นะครับ V.10.07
ที่มาครับ
ใช้งานได้ดีทำได้แทบทุกอย่างที่ Software CCTV ของ Card เราทำได้บน windows ครับ
ปรับแต่งได้หลากหลายมาก Motion Detect หรือให้เฝ้าของที่ต้องการ Mail แจ้งทันทีที่มีอะไรเคลื่อนที่หรือ ของที่ให้เฝ้าจับภาพไว้หายไปหรือเคลื่อนที่เป็นบางจุดครับ
แต่ต้องดู Card ที่ Support ด้วยนะครับ หรือว่าถ้าเสียบ Card แล้วลง Linux แล้ว จะมี /dev/video โผ่ลมาครับ
หลายตำราแนะนำให้ลง Apache Mysql และ Lib ที่ต้องใช้ก่อน
แต่ผมแนะนำให้ข้ามไปเลยครับ มันจะลงสิ่งที่มันต้องใช้เองครับ
ถ้ามี Xampp ให้ปิดก่อนนะครับ ใช้ apache และ mysql ที่ลงเองดีกว่าครับ เพราะว่าถ้าใช้ Xampp มันหา Lib ไม่เจอ เก็บคนละที่กันต้องเหนื่อยต่ออีก
sudo /opt/lampp/lampp stop
เริ่มตามนี้เลยครับ ผ่านแน่นอน ตามคู่มือที่ http://www.zoneminder.com/wiki/index.php/Ubuntu_10.04_(Lucid_Lynx)_Desktop
1. open a terminal window (Applications > Accessories > Terminal)
2. $ sudo apt-get install zoneminder
3. $ sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
4. $ sudo /etc/init.d/apache2 force-reload (restarts Apache)
5. $ sudo mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql
6. mysql -u root -p (this brings you into a mysql shell)
7. > grant select,insert,update,delete on zm.* to 'zmuser'@localhost identified by 'zmpass';
8. > flush privileges;
9. > quit
10. $ sudo chmod 4755 /usr/bin/zmfix
11. $ zmfix -a
12. $ sudo adduser www-data video
13. $ sudo nano /etc/sysctl.conf
14. เพิ่ม 2 บรรทัดนี้และ Reboot ครับ
kernel.shmall = 134217728
kernel.shmmax = 134217728
แค่นี้เป็นอันเสร็จแล้วครับ มันจะลง Apache และ Mysql ให้เราเองเลย ตั้งค่า root password ของ Mysql ตามแต่ต้องการ
การเข้าใช้งานผ่าน http://IP/zm ครับ เข้าถึงได้ทุกที่ที่มี Net ให้เราใช้ ^^
แถมยัง Remote ผ่าน SSH เข้าไปจัดการเครื่องได้ด้วยครับ
ผมว่าสำหรับ Card ที่ผมใช้นะครับ เสถียรกว่า Software ของ Card ที่ใช้งานบน Windows มากๆ ครับ
Card เก่า Software เก่าอะไรมันก็ห่วยๆ ครับ เลยลองใช้กับ Linux ดู ผลก็แจ่มเลยครับ
เปลี่ยน IP ใช้ Dyndns สำหรับเครื่องที่บ้าน และเปลี่ยน Port ตามต้องการได้ครับ ไม่ต้อง Port 80 ก็ได้ครับ
อย่าลืม Forward Port ด้วยนะครับสำหรับเครื่องที่บ้านที่ไม่ Fix IP
ถ้าเข้าใช้งานได้การ Add กล้องเพิ่มให้ดู Link นี้ครับ
http://www.zoneminder.com/wiki/index.php/Ubuntu_9.04_(Jaunty)_desktop_with_graphical_interface
สำคัญที่ Source ครับ
ให้เราใส่ /dev/video0 หรือ /dev/video1 /dev/video2 /dev/video3 /dev/video4 ครับตามแต่จำนวนกล้องที่ Card เรา Support ครับ
จากนั้นก็เลือก Channel ส่วนใหญ่ให้ตั้งค่าเป็น 0 ครับ Channel มีไว้เพื่อสำหรับ Card บางตัว ที่ /dev/video1 อันเดียว รับได้ 4 กล้องครับ
เช่นของผม Card GV-800 ของ Geovision ครับ การตั้งค่ากล้องก็ตามนี้ครับ
Camera 1 -> /dev/video0 channel 0
Camera 2 -> /dev/video1 channel 0
Camera 3 -> /dev/video2 channel 0
Camera 4 -> /dev/video3 channel 0
Camera 5 -> /dev/video0 channel 1
Camera 6 -> /dev/video1 channel 1
Camera 7 -> /dev/video2 channel 1
Camera 8 -> /dev/video3 channel 1
Camera 9 -> /dev/video0 channel 2
Camera 10 -> /dev/video1 channel 2
Camera 11 -> /dev/video2 channel 2
Camera 12 -> /dev/video3 channel 2
Camera 13 -> /dev/video0 channel 3
Camera 14 -> /dev/video1 channel 3
Camera 15 -> /dev/video2 channel 3
Camera 16 -> /dev/video3 channel 3
เพิ่มเติมนิดหน่อยครับ ถ้าภาพไม่ได้แสดงภาพที่กล้องควรจะเห็นแต่เป็นสีฟ้า เป็นได้หลายกรณีครับ เช่น กล้องเสีย สายสัญญานขาดหรือหลวม
และอีกอย่างคือ มันต้องเหนื่อยนิดหน่อยครับ เพราะว่าค่าที่ระบบตั้งให้ Auto สำหรับบาง Card มันไม่ตรงกับ Card ที่เราใช้จริงๆ ครับ (เค้าว่า่ส่วนใหญ่ตรง)
ให้สร้างไฟล์ #sudo nano /etc/modprobe.d/bttv.conf
แล้วใส่
alias char-major-81 bttv
options bttv card=158,158,158,158 tuner=4,4,4,4 gbuffers=32 radio=0,0,0,0 coring=1 full_luma_range=1 chroma_agc=1 combfilter=1 triton1=0 vsfx=0
ด้านบนสำหรับ Card ของผมนะครับ สำคัญที่ card= และ tuner= ครับ tuner ส่วนใหญ่ =4
Card รุ่นอื่นดูตามนี้ครับ ให้ดูข้อ 5 เป็นต้นไปครับ มีคำสั่งในการตรวจสอบ Card ของเราและมีค่า card= เท่าไหร่ ให้ดูครับ
http://www.zoneminder.com/wiki/index.php/Ubuntu_9.10_Desktop
ถ้าใช้กล้องกี่ตัวต้องใส่ card=158,158,158,158 เท่ากับจำนวนกล้องที่ใช้ครับ 158 ใส่ 4 ครั้งเท่าจำนวนกล้องที่ใช้ตอนนี้ครับ tuner ก็เช่นกันครับ
สำหรับ Card ของใครที่ไม่ได้อยู่ในรายการข้างต้นจริงๆ ก็อาจจะใช้งานได้นะครับ ให้ลง Linux Version ใหม่ๆ Kernel ใหม่ๆ
ถ้ามันมี /dev/video โผ่ลขึ้นมา เป็นไปได้ว่าสามารถใช้งาน ZoneMinder ได้ครับ
เพิ่มเติมถามได้ครับ ไปกินข้าวก่อนนะครับ ^^