BAB III PERANCANGAN SISTEM
3.1
Perencanaan Sistem Sistem ini terdiri dari komputer server (dalam hal ini Raspberry berfungsi
sebagai server) yang terhubung dengan webcam di mana setiap saat komputer server selalu siap menerima perintah dari klien untuk melakukan proses pengambilan gambar video dari webcam dan mengolah data video tersebut untuk dikirimkan lewat jaringan internet. Untuk memulai sebuah proses monitoring, klien yang sudah ter-install oleh browser mengakses IP computer server dan mengirimkan perintah kepada komputer server tersebut untuk menjalankan proses encoding. Setelah proses encoding sudah mulai dijalankan, komputer server langsung dapat mengirimkan data video tersebut kepada klien.
Gambar 3.1. Blok Diagram Sistem 46
47
Proses pengambilan gambar webcam oleh komputer server dimulai dengan adanya perintah untuk melakukan start encoding, pengambilan gambar ini dilakukan oleh komputer server dengan menjalankan script MJPG-Streamer.
3.2
Remote Raspberry Pi dengan Putty Putty adalah sebuah program open source yang dapat digunakan untuk
melakukan protocol jaringan SSH, Telnet dan Rlogin. Protocol ini dapat digunakan untuk menjalankan sesi remote pada sebuah computer melalui sebuah jaringan, baik itu LAN maupun internet. Dalam tugas akhir ini Putty digunakan untuk me-remote Raspberry Pi melalui computer lain dalam satu jaringan yang sama. Untuk me-remote Raspberry, harus mengetahui IP-nya terlebih dahulu. Setelah diketahui IP dari Raspberry lalu buka software Putty dan masukan IP Raspberry pada kolom Host Name.
Gambar 3.2. Remote Raspberry dengan Putty
48
Gambar 3.3 Tampilan Putty
Lalu setelah itu masukan user name dan password untuk membuka Raspberry, dalam hal ini “Pi” sebagai User name dan “raspberry” sebagai password-nya. Setelah itu Raspberry siap di install berbagai macam aplikasi, dalam tugas akhir ini Raspberry digunakan sebagai web server dan di install aplikasi MJPG-Streamer.
3.3
Konfigurasi Raspberry Pi sebagai Web Server Raspberry Pi digunakan sebagai web server yang akan melayani
permintaan klien melalui web browser berupa tampilan halaman web yang telah ditanamkan dalam modul Raspberry Pi dengan web server yang dipilih untuk digunakan adalah web server Apache, karena mudah dalam konfigurasi, mendukung untuk ditanamkan dalam modul Raspberry Pi dan dapat digunakan secara gratis. Selain itu webcam Raspberry Pi dapat di akses secara public. Simpelnya, ketika membuka IP address Raspberry Pi dari jaringan internet
49
manapun, gambar webcam bisa di-retrieve. Sebelumnya, gambar webcam Raspberry Pi hanya bisa di akses ketika device pengakses terhubung ke jaringan yang sama dengan Raspberry Pi. Berikut ini adalah log pengerjaannya : 1. Install Apache dengan mengetik : sudo
apt-get
install
apache2
php5
libapache2-mod-php5 //pada proses instalasi, package apache2-mpm-worked di removed //sehingga sebelum restart apache2, ketik: apt-get install apache2-mpm-worker
2. Setelah proses instalasi selesai, ketik : sudo service apache2 restart //Gagal, terjadi error -> “no apache MPM package installed” //solusi, ketik : sudo apt-get remove – purge apache2.2 sudo apt-get install apache2 //jalankan apache2 kembali dan berhasil 3. Untuk melihat konfigurasi, ketik : sudo nano/var/www/phpinfo.php //pada file tersebut, ketik : liquid error: undefined method ‘PyErr_Occured’for RubyPython::Python:Module
50
4. Edit File Homepage sudo nano/var/www/index.html //kode yang dijalankan ketika membuka IP address Raspberry Pi
3.4
Setting MJPG-Streamer MJPG-Streamer adalah alat baris perintah untuk streaming file JPEG
melalui jaringan berbasis IP. MJPG-Streamer bergantung pada input dan output plugin, misalnya input plugin untuk menyalin gambar JPEG ke lokasi memori yang dapat di akses secara global, sedangkan output plugin seperti output http.so, memproses gambar, misalnya melayani file JPEG tunggal (disediakan oleh plugin input) atau alirannya sesuai dengan standar MPEG yang ada. Hal ini dapat digunakan
untuk browser seperti Firefox, Cambozola, Video Lan Client atau
bahkan ke perangkat Windows. Untuk mengkompilasi aplikasi MJPG-Streamer digunakan perintah berikut : //membuat dan mengubah ke direktori sudo mkdir /opt/mjpg-streamer cd /opt/mjpgstreamer/ //install perintah berikut sudo apt-get install libjpeg8-dev sudo apt-get install imagemagick sudo apt-get install subversion
51
//download MJPG-Streamer kedalam direktori ini sudo svn co https://svn.code.sf.net/p/mjpgstreamer/code/mjpg-streamer/ //lalu jalankan sudo make Jika mendapatkan error berikut ini : linux/videoev.h: no such file or directory pastikan memiliki libv41-dev yang di-instal dan membuat link untuk file header : sudo apt-get install libv41-dev sudo
ln
–s
/usr/include/libv411-videoev.h
/usr/include/linux/videoev.h Sekarang saatnya untuk bagian streaming video nya : # membuat sebuah direktori untuk menyimpan gambar sementara. sudo mkdir /tmp/stream/ # membuat tulisan di direktori. sudo chmod a+rw /tmp/stream/ # mulai menangkap gambar. # lihat pilihan yang ada di Raspistill
52
raspistill --help # melihat rekaman yang mulai berjalan setelah menulis perintah berikut. raspistill
-w
640
-h
480
-q
5
-o
/tmp/stream/pic.jpg -tl 100 -t 9999999 -th 0:0:0 -n & # kemudian pilihan MJPG-Streamer. /opt/mjpg-streamer/mjpg_streamer --help # jalankan perintah berikut untuk memulai MJPG-Streamer streaming pada webserver.
LD_LIBRARY_PATH=/opt/mjpg-streamer/ /opt/mjpg-streamer/mjpg_streamer
-i
"input_file.so -f /tmp/stream -n pic.jpg" o
"output_http.so
-p
8080
-w
/opt/mjpg-
streamer/www" &
Jika semuanya sudah kita dapat membuka browser dan masukan alamat web berikut : http://
/streaming.html
53
Jika webcam tidak support JPEG, mungkin masih bisa membacanya dengan format YUYV. Akan tetapi CPU pada Raspberry akan bekerja lebih keras karena harus mengubah file YUYV ke dalam bentuk file JPEG untuk melakukan live streaming. JPEG merupakan salah satu standar image encoding yang paling banyak digunakan pada dunia internet utamanya pada HTTP protocol. Standar JPEG menjelaskan mekanisme codec dan encodec sebuah gambar kedalam byte stream dan kembali ke gambar, serta format file untuk menampung gambar tersebut. MJPEG (Motion JPEG) merupakan proses compression/rangkaian gambar-gambar (JPEG) pada sebuah video. MJPEG menggunakan intraframe coding technology sehingga kualitas gambar pada video yang dihasilkan sangat baik, mendekati kualitas gambar tidak bergerak (still image) sebuah file JPEG. Namun kekurangannya adalah kemampuan kompresi data yang rendah yang dimiliki oleh teknologi interframe prediction, berakibat pada tingginya volume data. Untuk tujuan video surveillance, kualitas data/image merupakan prioritas utama mengingat transfer gambar dilakukan rata-rata satu kali dalam setiap detik (1 fps-frame per second) dengan kualitas gambar yang baik.
3.5
Cara Kerja Sistem Proses streaming melalui jaringan dapat digambarkan seperti terlihat pada
gambar 3.4 :
54
source
capture
Encode
Display
Decode
stream
Gambar 3.4 Alur Proses Kerja Sistem
Gambar di atas data di ambil dari source (dalam hal ini berupa objek video) akan di-capture dan disimpan pada sebuah buffer yang berada pada memori computer (bukan media penyimpanan seperti harddisk) dan kemudian diencode kan sesuai dengan format yang diinginkan. Dalam proses encode ini, user dapat mengkompresi data sehingga ukurannya tidak terlalu besar (bersifat optional). Setelah di encode, data akan di-stream kepada user yang lain. User akan melakukan decode data dan menampilkan hasilnya ke layar user. Waktu yang dibutuhkan agar sebuah data sampai mulai dari pemancar sampai penerima di sebut latency. Apabila semua dilakukan dengan benar maka computer server sebagai penyedia layanan telah berhasil menyediakan sesi video streaming dan pengguna dapat mengakses video tersebut. Hal terpenting yang harus dilakukan oleh pengguna agar dapat mengakses video yang di-streaming kan oleh server pada jaringan antara lain yaitu:
Harus meng-install web browser terdahulu seperti internet explorer, Mozilla firefox, dan google Chrome.
55
Konfigurasi jaringan agar terhubung dengan computer server (implementasi pada jaringan local).
Konektifitas internet agar dapat melakukan live streaming dari suatu objek yang telah direkam oleh penyedia layanan. Jika computer klien telah terhubung pada jaringan, hal selanjutnya yang
harus dilakukan yaitu memasukkan URL streaming pada web browser untuk menyaksikan layanan streaming secara langsung dari suatu objek yang di-capture oleh webcam. sedangkan dalam implementasi pada jaringan internet computer server harus mempunyai IP Public yang akan menjadi Media Resource Locator media streaming dan diinisialisasikan menjadi URL agar dapat diakses oleh pengguna layanan dimanapun. Streaming adalah sebuah teknologi untuk memainkan file video atau audio secara langsung dari sebuah web server. Dengan kata lain, file
video
ataupun audio yang terletak dalam sebuah server dapat secara langsung pada browser saat proses buffering mulai berjalan. File video akan berbentuk sebuah buffer di computer klien dan data video tersebut akan mulai di download ke dalam buffer yang telah terbentuk pada klien. Dalam waktu sepersekian detik, buffer telah terisi penuh dan secara otomatis file video langsung dijalankan oleh sistem. Sistem akan membaca informasi dari buffer dan tetap melakukan proses download file, sehingga proses streaming tetap berlangsung ke computer klien.