DIY CCTV dengan zoneminder


CCTV, Closed-circuit television adalah sistem kamera video yang mengirimkan sinyalnya secara terbatas. untuk meningkatkan keamanan rumah saat ditinggalkan, saya memutuskan untuk memasang sistem pengawasan dengan sistem CCTV ini. jika memang tidak punya waktu untuk membuatnya sendiri, ada beberapa perusahaan yang menyediakan jasa pemasangan CCTV ini. salah satu contohnya adalah CCTV Indonesia, yang menawarkan jasa pemasangan sistem CCTV terkomputerisasi lengkap dengan harga paket dasar dari 13 juta sampai dengan 19 juta rupiah.
saya sendiri daripada mengeluarkan uang jutaan rupiah, lebih memilih untuk membuat sendiri sistem ini (DIY, do it yourself). yang sudah tersedia di rumah adalah dua buah server yang selalu menyala (router dan fileserver), sebuah notebook thinkpad X20 yang sudah rusak LCD-nya, dan jaringan kabel maupun nirkabel yang mencakup seluruh rumah. bagi yang punya sistem berbasis windows, mungkin panduan yang ditulis oleh iip sesuai buat anda. saya sendiri menggunakan ubuntu di tiga komputer yang sudah saya sebut di atas.

zoneminder

berikutnya adalah memilih perangkat lunak sistem CCTV ini. dari hasil googling sebentar, akhirnya menemukan zoneminder, aplikasi open source dan sangat lengkap untuk membuat sistem CCTV. fasilitasnya antara lain bisa menggunakan kompresi eksternal seperti ffmpeg, deteksi gerakan (motion detection), membunyikan alarm, mengirimkan peringatan melalui mail, mengirimkan gambar melalui FTP, dan masih banyak lagi. bisa diakses melalui web, atau bisa juga melalui jalur telepon. perangkat kamera bisa menggunakan webcam, IP webcam, video input. di ubuntu, instalasi sangat mudah, cukup tambahkan zoneminder dari Synaptic Package Manager, atau jika anda penggemar CLI (command line interface) seperti saya, dengan perintah:
[sourcecode language=’java’]
sudo aptitude -y install zoneminder
[/sourcecode]
jika belum ada, instalasi zoneminder akan menambahkan sendiri dependensi seperti apache2 dan mysql. jangan lupa untuk mengubah password dari mysql agar instalasi mysql anda lebih aman. zoneminder hanya perlu dipasang pada satu server saja, tidak perlu dipasang di tiap komputer yang terpasang webcam.

perangkat webcam

langkah berikutnya adalah memilih webcam. ada banyak pilihan webcam, namun metoda yang saya pilih saat hari jumat kemarin adalah pilih webcam yang driverless (UVC, USB Video device Class), yang termurah yang bisa saya temukan di mal ambasador. 🙂 cara yang saya tempuh ini tentu saja belum tentu cocok buat anda, jadi silakan tentukan sendiri kebutuhan anda. webcam termurah yang saya temukan dibeli seharga 65 ribu rupiah, bermerek apollyon. seharusnya webcam ini bisa lebih murah lagi, sayangnya kurs USD yang memang masih di atas 10 ribu rupiah membuat webcam ini juga naik harganya.

apollyon webcam
murah meriah

UVC compliant

uji coba perangkat webcam

ketika USB webcam ini dicolokkan ke komputer, USB ID-nya adalah 1c4f:3000:
[sourcecode language=”java”]
$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1c4f:3000
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[/sourcecode]
untuk mencoba apakah webcam ini bisa dipergunakan di linux atau tidak, bisa dengan memanfaatkan aplikasi luvcview, yang sudah ada di dalam paket ubuntu:
[sourcecode language=”java”]
sudo aptitude -y install luvcview
luvcview
[/sourcecode]

mjpg-streamer

sekarang yang menjadi problem, zoneminder versi 1.23.3 masih memakai V4L (Video for Linux) versi 1 (v4l1), yang sudah tidak didukung lagi oleh UVC driver untuk linux (uvcdriver). uvcdriver hanya mendukung V4L versi 2 (v4l2), yang baru akan ada dukungannya di zoneminder versi 1.24. sambil menunggu rilis versi 1.24, kita bisa menggunakan mjpg-streamer sebagai perantara antara uvcdriver ke zoneminder.
mjpg-streamer ini sayangnya belum masuk dalam paket standar ubuntu, dan paket binari yang bisa diunduh hanyalah untuk arsitektur i386, tidak ada amd64, jadi tidak bisa langsung digunakan oleh server router yang saya pasang intrepid amd64. jadi agar bisa digunakan, saya harus melakukan kompilasi dulu terhadap source code dari mpjg-streamer ini. langkah awal adalah mempersiapkan kebutuhan untuk melakukan kompilasi:
[sourcecode language=”java”]
sudo aptitude -y install subversion build-essential libjpeg62-dev libjpeg62
[/sourcecode]
setelah itu ambil source code dari mjpg-streamer:
[sourcecode language=”java”]
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer
[/sourcecode]
lakukan kompilasi dan instalasi:
[sourcecode language=”java”]
cd mjpg-streamer/mjpg-streamer
make clean all
sudo make DESTDIR=/usr install
[/sourcecode]
cara menggunakan mjpg-streamer ini cukup mudah, secara default dia akan mengakses /dev/video0, dan membuka akses http di port 8080. saya menambahkan opsi -b agar dijalankan di background:
[sourcecode language=”java”]
mjpg-streamer -b
[/sourcecode]
sekarang untuk mencobanya, silakan buka browser ke http://localhost:8080/?action=stream.
tadinya saya mencoba memasang 2 webcam dalam 1 komputer, namun mendapatkan pesan kesalahan “Unable to start capture: No space left on device” saat mencoba menjalankan mjpg-streamer yang kedua. rupanya jika masih menggunakan USB 1.1, bandwidth untuk menangkap sinyal video sudah menghabiskan lebih dari separuh kapasitas lebarpita kanal USB yang cuma 12 Mbps. jika masih ingin menjalankan 2 buah webcam dalam satu komputer, solusinya adalah dengan menggunakan kanal USB 1.1 yang berbeda, atau menggunakan kanal USB 2.0 yang mempunyai lebarpita 480 Mbps.
lalu jika menggunakan mjpg-streamer ini di komputer yang memiliki IP publik, tentu lebih baik jika akses dibatasi dengan menggunakan sandi. ini bisa dilakukan dengan menambahkan opsi -c pada plugin http output:
[sourcecode language=”java”]
mjpg_streamer –input “input_uvc.so –device /dev/video0 –fps 5 –resolution 640×480” –output “output_http.so –port 8080 -c user:password” -b
[/sourcecode]

mengaktifkan zoneminder

walaupun zoneminder sudah termasuk dalam paket standar ubuntu, masih diperlukan sedikit langkah untuk mengaktifkannya:
[sourcecode language=”java”]
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf
sudo /etc/init.d/apache2 force-reload
[/sourcecode]
buka http://namawebserver/zm. instalasi default belum membatasi akses dengan sandi, jadi langkah pertama adalah membatasi akses dengan mengklik Options lalu centang Authenticate user logins to ZoneMinder (ada di baris kedua tab System). klik tombol Save.
sekarang login kembali ke zoneminder (user/password: admin/admin), klik Options, lalu klik tab Users, dan silakan ubah password default, kalau perlu sekalian ditambahkan user baru, misalnya khusus hanya bisa melihat saja tanpa bisa mengubah konfigurasi.

menambahkan kamera

setelah login ke zoneminder, klik tombol Add New Monitor. pada tab General, berikan nama untuk kamera ini pada isian Name.
karena zoneminder versi 1.23.3 ini masih belum mendukung v4l2, saya menggunakan mjpg-streamer sebagai perantara, sehingga pada isian Source Type, isikan dengan Remote. untuk isian Function, saya memilih Modect, artinya Monitor & Detect, jika diakses akan menampilkan video secara realtime, dan hanya akan merekam jika mendeteksi adanya gerakan di kamera.

setelah itu klik tab Source. untuk Remote Host Name, isikan dengan alamat IP dari komputer yang terpasang webcam (localhost jika di komputer yang sama). jika menggunakan sandi, isikan dalam format user:password@alamat-IP. Remote Host Port diisi dengan port yang dipergunakan, contohnya mjpg-streamer secara default menggunakan port 8080. pada Remote Host Path, karena kita menggunakan mjpg-streamer, isikan dengan /?action=stream. pada Capture Width dan Height, isikan dengan dimensi resolusi yang sesuai.

setelah itu, klik tombol Save. ulangi langkah di atas untuk menambahkan kamera yang lain. karena saya baru punya 3 webcam, maka baru 3 kamera yang ditangani oleh zoneminder ini.

troubleshooting

seperti yang sudah saya tulis di atas, jika masih menggunakan USB 1.1, hanya bisa terpasang satu webcam pada satu kanal. jika menggunakan USB 2.0 seharusnya bisa jauh lebih banyak webcam yang bisa terpasang.
untuk bisa memproses video resolusi besar, diperlukan alokasi memori yang cukup besar juga, kadang setting default masih kurang cukup besar. solusinya bisa dibaca di Video Surveillance system on Ubuntu 8.04 with Zoneminder, saya sendiri belum terkena problem ini.
masalah lain adalah dukungan uvcdriver sendiri yang berbeda di tiap versi kernel. pada thinkpad X20 yang terpasang ubuntu hardy (2.6.24-23-generic), webcam yang saya beli walaupun terdaftar di /dev/video0, tidak bisa dipergunakan. solusinya bisa dengan melakukan instalasi kernel yang lebih baru, atau dengan cara yang saya tempuh, sekalian upgrade dari hardy ke intrepid (2.6.27-9-generic). setelah saya pasang intrepid, webcam murahan ini bisa langsung dipergunakan. 🙂

CCTV buatan sendiri

berikut ini adalah webcam yang saya tempelkan ke salah satu unit satelit speaker Altec Lansing ATP3 saya:

webcam ini mengarah ke arah dapur dan meja makan. dan berikut ini adalah hasil capture dari webcam tersebut pada sistem CCTV zoneminder:

total biaya yang saya habiskan adalah untuk membeli webcam, 65 ribu x 3 = 195 ribu rupiah.
spesifikasi sistem komputer yang saya pergunakan:

  1. AMD Athlon 3200+, berfungsi sekaligus sebagai router dan server zoneminder:
    • 3 GB RAM, 80 GB harddisk
    • Ubuntu Intrepid Desktop arsitektur amd64
  2. Epia 800 MHz, juga berfungsi sebagai fileserver:
    • 512 MB RAM, 2 TB harddisk
    • Ubuntu Intrepid Server arsitektur i386
  3. Thinkpad X20 P3 600 MHz:
    • 320 MB RAM, 20 GB harddisk
    • Ubuntu Intrepid Desktop arsitektur i386
    • Kondisi LCD rusak, jadi praktis headless
, ,

81 responses to “DIY CCTV dengan zoneminder”

  1. Nah, dulu setelah liat ada software semacam zoneminder
    saya pengen bikin yang kayak gini nih mas. Tapi waktu itu kepikiran kalo yang murah pake Webcam (USB) kira-kira
    nanti menghubungkan kamera yang jauh (misal 50 meter
    ke atas) pake kabel USB apa bisa? Mengingat maksimum
    kabel USB itu 5 meter.
    Sepertinya memang perlu IP Cam wireless yang lebih mahal…
    🙁
    Back tinkering with GPS…

  2. wah, botnya nuri udah bisa komen di blog juga. edan.
    tengs sharenya om ryo, dalam waktu dekat emang aku ada rencana bikin sistem surveillance. rencananya mau bikin yang bisa tilt sekalian, biar bisa tolah-toleh. perkiraan mau pake vlc. tapi ntar, nunggu tender gol dulu :p

  3. @ pebbie: semua komputer yang digunakan sudah tua umurnya, dan sudah berfungsi yang lain. notebook-nya bahkan sudah praktis headless.
    @ jiro: memperpanjang kabel USB bisa memanfaatkan kabel ethernet, dengan alat USB extender seharga USD17.25, bisa sampai 150 feet = 45.72 meter.

  4. *bintangin juga*
    rencananya klo udah punya rumah sendiri memang mau pasang ini. tambahan juga sensor gerak untuk di depan rumah.. kebetulan toko papa di malang punya bahan2nya 😀

  5. wah pas banget nih bos.. kebetulan gw juga lagi mau coba zoneminder.
    sebenernya kalo untuk satu kota dibikin kayak solocityview.com bagus juga tuh, menarik untuk mengamati lalu lintas. cuma emang harus pake ip camera.
    atau kayak yang di malioboro, kameranya bisa diatur ke mana aja kita mau :D.

  6. Dear Pak Ryo,
    Lagi cari-cari artikel Zoneminder eh ketemu yang ini.
    Saya dikantor pasang IP Camera dengan Zoneminder.
    Semua sudah jalan dengan fungsi kamera monitor aja.
    Yang saya masih bingung bagaimana membuat timernya.
    Contoh saya mau kamera dalam mode modec aktif dari jam 20.00 – 06.00, pengaturan waktunya di mana ya, mungkin bisa bantu, saya cari-cari belum ketemu, thank pak.
    Steph

  7. maz boleh minta referensi cara buat aplikasi cctv gak, saya butuh banget nih buat skripsi. saya tertarik banget dengan topik ini. mohon bantuannya ya maz?
    regards
    tommy

  8. wah asiik tuh.
    bisa dibuat dirumah. soalnya Rabu tgl 4 Feb 2009 sekitar jam 8-11 wIB rumah ku di sekitar candi gebang Jogja dibobol Maling!notebook Acer 3003NLCI raib. Kebangetan tuh maling. selain data2 tentu saja ubuntu 8.04 yang baru selesai diunduh dengan sempurna ikut raib. Ada yang bisa nolongin gak?
    Klo untuk CCTV dirumah apa musti butuh 3 komputer? klo pake mini distro gimana trus dipasang ke notebook murahan biar bisa diumpetin. soalnya kalo pake server ama PC takutnya ikut ke angkut sama malingnya. Help me pleasee…. sekalian mohon digambarkan konfigurasi perangkatnya ya. thanks.

  9. Perlu dicoba nih, rumah ada di daerah yang rawan soalnya. Mudah-mudahan bung Ryo selama ini nggak ada “penampakan” ya 🙂
    Rgds

  10. Mas Tomy untuk sementara bisa cari di google.
    Ada banyak aplikasi CCTV yang bisa diterapkan.
    Bisa Base Windows atau Linux seperti Zoneminder ini.

  11. Salam kenal mas…
    Kebetulan sy pny tugas kuliah memonitor ruangan di kantor/kampus lewat jaringan telepon lokal/rumah. sy msh bingung mau pk webcam/cctv…
    Nantinya kita bs memonitor webcam/cctv tsb melalui pc, untuk mengaksesnya dgn cara menghubungi nomor telepon ruangan yg dituju (biasanya nmt telepon di kantor/kampus ada nmr ekstensi lg untuk ruangan tertentu).
    Sy msh bingung mau pk webcam/cctv.
    Pertanyaannya,
    – bagaimana crnya menghubungakan webcam/cctv ke jaringan tlp lokal?
    – cara agar webcam/cctv bs diakses dgn menelpon nmr tujuan?
    Maap klo sy banyak bertanya, soalnya sy sdh cb googling tp blm menemukan solusinya, mhn bantuannya mas?

  12. bang q dah cuba install dah kelar smua n pake mjpg_streamer dah bisa tapi kok waktu q akses lewat zm tampilannya masih blank ya???
    q pake ubuntu 8.10 ama webcam logitech e3000

  13. saya mahasiswa manajemen informatika, lg nyusun PUM ttg membangun server CCTV menggunakan zoneminder diUbuntu. da sdikit masalah, monitor tidak merekam aktivitas, yang da dilayar cm tampilan layar hitam, sudah dicb sett brig,contras,dll tapi nilai’y selalu kembali ke -1 wlopun sdh diubah,ktika disave berubah lagi. pa ya masalahnya, mhon saran dan bantuannya ???

  14. ikutan nanya, dari pertanyaan ria.
    awalnya saya pake’ ubuntu 10.10, tp gx mw muncul,yang muncul hanya layar hitam. kemudian dicoba lagi di ubuntu 8.04 tetapi msh sama masalahnya, belum bs muncul gambar…
    bisa berbagi proses buat CCTV dengan zoneminder diubuntu gx, di tunggu share’y di blog..

      • oiy, maaf diulang pertanyaannya,
        awalnya saya pake’ ubuntu 10.10, tp tidak mau muncul,yang muncul hanya layar hitam. kemudian dicoba lagi di ubuntu 8.04 tetapi msh sama masalahnya, belum bs muncul gambar…
        bisa berbagi proses buat CCTV dengan zoneminder diubuntu tidak, di tunggu share’y di blog..

          • maksudnya, andakan pernah membangun server cctv diubuntu 10.10. kalau bisa tulis diblog langkah-langkah pembuatannya. Saya mencoba Membangun server cctv dengan zoneminder diubuntu 8.04 tapi problemnya sama waktu menggunakan ubuntu 10.10, yang muncul hanya layar hitam..belum bisa muncul gambar,…

          • tidak ada yang jauh berbeda dengan apa yang sudah saya tuliskan di atas. FYI saya pakai server yang sama sejak 8.04, semuanya saya upgrade seiring dengan rilis ubuntu yang terbaru. beda yang paling terlihat paling dukungan driver untuk USB webcam makin bertambah, yang ada di dalam kernel terbaru.

  15. mas, kenapa waktu di address bar browser ku tulis localhost/zm ga mau muncul zm nya ya? cuma 404 not found.
    padahal aku udah install webservernya.
    apache2,php5,mysql udah ada . .
    tolong bantuinn ya mas ..
    makasih.

  16. bosss…. mau tanya lagi kenapa sekarang malah tidak mau muncul apa-apa… tidak ada tampilan kotak nya…
    tolong itu kenapa ya??????

  17. pagi boss,,, saya kan membuat cctv ini menggunakan webcam laptop!! Nah, sudah berhasil menampilkan gambar,,, Tapi, saya ingin menambahkan monitor.. Itu bagaimana caranya ya???
    tolong ya boss????

  18. saya awam di dunia linux, tapi saya mendapat tugas mengenai zoneminder
    saya menggunakan ubuntu 10.10
    setelah mengikuti bbrp tutorial seringkali mengalami kegagalan, awalnya sempat zonemindernyatdk bisa running, lalu setelah instal ulang running tp tdk ada tampilan gambar, setelah instal cambodia (kalo tdk salah namanya), layar gambar muncul, namun yang tampil hanya layar hitam.
    saya menggunakan Lenovo ThinkCentre A70Z-1165B8A, dimana sudah ada webcam didalamnya (jadi tdk menggunakan web cam tambahan) dgn spesifikasi 1.3 pixel webcam and interbal mocrophone
    saya sangat berharap bantuannya dari dasar
    email saya: dinaamriyani@gmail.com
    terima kasih

  19. Sorry motong,,klo pke ip camera gmn setting ya n ada penambahan library ga?saya sudah coba tutorial yg ada,hasil ya tetap kotak hitam,tq??

  20. Maaf mas mau tanya untuk analisis pake zoneminder gmn ya? Dari zoneminder sendiri apakah ada standar kualitas baik atau buruknya hasil gambar berdasarkan fps atau yg lain gt? thanks..

Leave a Reply

Your email address will not be published. Required fields are marked *