09 March 2015

Capture Stream DVR CCTV dan Store Di Google Photos

Pointers aja dulu ah, sebagai personal note
  • Pakai trik ini, ternyata portnya rebutan, kadang dipakai orang, cape juga, akhirnya ya sudah pakai cara lain, masih ngrok.com, tapi yang web forwarding aja
  • Kepalang tanggung bikin web, untung ada laptop bekas istri yang nganggur, sediain server online 24 jam aja sekalian
  • Daripada akses via dvr yang via tunneling port, mending capture image cctv dan di store di webserver
  • Capture stream dengan vlc
  • Buat batch file untuk capture
  • Bikin webserver sederhana
  • Pasang google autobackup, supaya upload automatis folder foto hasil capture ke cloud google+
  • Pasang task scheduler untuk execute batch file dan file deleter, biar laptop ga penuh dengan gambar2 yang cenderung statis isinya, hahaha...
  • Trik ini lebih keren kalau di pakai untuk capture stream cctv lalu lintas, biar ga membebani situs, dan orang2 browsing google photos aja :D
Capture Stream

Awalnya udah ngarep bakal susah akses stream dvr, karena kalau diview pakai internet explorer ada acara download komponen activex segala, pas di coba dengan firefox, dan menggunakan tools elemen inspector, eeh... ternyata simple sekali akses streaming si DVR


Formatnya :

rtsp://192.168.1.33:554/user=xxxxx&password=xxxx&channel=1&stream=0.sdp

User dan password adalah akses ke dvr, channel itu nomer kamera cctv

Setelah googling, untuk mencari player rtsp, ternyata VLC bisa dengan mudah mem-play stream, dan bisa recording atau snapshot juga. Dan hebatnya bisa akses via command line, diperlukan karena untuk membuat task scheduler

Setelah situs lokal dibuat dengan apache sederhana, tinggal meletakkan gambar saja disitu dengan script batch, diset oleh task scheduler running tiap 1 menit capture cctv, waktu dibikin relax, karena tidak terlalu banyak aktifitas di rumah

Sintax untuk capture streaming oleh vlc adalah

vlc "rtsp://admin@192.168.1.33:554/user=xxxx&password=xxxx&channel=1&stream=0.sdp" --run-time=1 --rate=1 --video-filter=scene --vout=dummy  --scene-format=jpg --scene-prefix=snap1 --scene-path=c:\xampp\htdocs\cctv --scene-replace vlc://quit

Sintax ini akan membuat file snap1.jpg yang akan di replace terus menerus.

Google Autobackup Photo

Saya juga membuat batch file kedua yang membuat foto tapi di folder lain yang di sinkronisasi dengan google autobackup, supaya bisa di lihat di google photos, untuk bisa membuat penamaan file yang kontinyu, ada tambahan script timestamp diawal batch filenya

Time /T > Time.dat
set /P ftime= < Time.dat
set fDate=%date:~6%%date:~3,2%%date:~0,2%%ftime:~0,2%%ftime:~3,2%
echo %fDate%

vlc "rtsp://admin@192.168.1.33:554/user=xxxx&password=xxxx&channel=1&stream=0.sdp" --run-time=1 --rate=1 --video-filter=scene --vout=dummy  --scene-format=jpg --scene-prefix=snap1-%fDate% --scene-path=D:\CCTV-Snapshot --scene-replace vlc://quit

Script ini akan membuat file bernama snap1-201503011616.jpg  bila running tanggal 1 maret jam 16:16, demikian seterusnya. tinggal tambahkan script-script untuk 3 kamera atau lebih lainnya.

Config Ngrok

Untuk web forwarding si ngrok, confignya saya buat seperti :

auth_token: xyxuxyxyxyxyx
tunnels:
  situs:
    subdomain: "cctvgue"
    auth: "agung:password"
    proto:   
      https: 80



Dan dijalankan dari command line dengan perintah :

ngrok  -config=ngrokconfig.txt start situs

Situs ini nantinya bisa di akses dengan alamat https://cctvgue.ngrok.com

Saat diakses diakan meminta user/password, masukkan agung dan password, pastikan secara lokal sudah jalan webservernya.

Contoh sederhana file index.html yang bisa ditampilkan

 <head>
    <meta http-equiv="refresh" content="120" >
    <meta charset="UTF-8">
  <title>CCTV-GUE</title>
  <link rel="shortcut icon" href="http://aespesoft.com/wordpress/wp-content/themes/massivepress/favicon.ico" type="image/vnd.microsoft.icon">
 </head>
 <body>
 <img src="snap1.jpg" alt="Depan" height="48%" width="47%">
 <img src="snap2.jpg" alt="Anak" height="48%" width="47%">
 <img src="snap3.jpg" alt="Tamu" height="48%" width="47%">
 <img src="snap4.jpg" alt="Dapur" height="48%" width="47%">  
 </body>


File ini akan secara otomatis mereload gambar2 yang ada tiap 120 detik, bisa di rubah dengan angka yang diinginkan.