Server CCTV dengan Shinobi Video – Bag. 2, Pemasangan Shinobi
Pemasangan Shinobi cukup mudah sekali, cukup menjalankan sebaris perintah dari root:
bash <(curl -s https://gitlab.com/Shinobi-Systems/Shinobi-Installer/raw/master/shinobi-install.sh)
Selanjutnya tinggal mengikuti langkah-langkah yang ada di layar. Saya memilih mengambil dari branch development agar mendapatkan fitur-fitur terbaru sekaligus testing. Dokumentasi pemasangan secara lengkap bisa dibaca di sini.
Berikut hal-hal utama yang perlu dilakukan setelah pemasangan:
Peramban Firefox
Gunakan peramban Firefox. Karena peramban Chrome tidak mau bila ada https dan self sign. Juka untuk streaming beberapa video cctv. Firefox bekerja lebih benar dari pada Chrome. Enggak tau kenapa.
Masuk sebagai admin dan buat user
Kita perlu memasukkan url http://alamat-ip-shinobi-server:8080/super. User / Pass bakunya adalah admin@shinobi.video / admin. Dari halaman ini kita bisa membuat user baru untuk masuk ke dashboard shinobi server. Juga untuk mengganti password akun admin tersebut.
Shinobi Dashboard
Untuk masuk ke dashboard, buka peramban dan arahkan ke http://alamat-ip-shinobi-server:8080/ lalu masukkan username/password yang sudah dibuat tadi.
Menambahkan Kamera
Klik tombol + (Add Monitor). Di sini kamera disebut monitor. Lalu tinggal isikan parameter-parameter yang sesuai kamera. Saya mencoba sendiri dan ribet. Setelah beberapa kali percobaan, baru berhasil.
Ada cara gampangnya, melalui menu pojok kiri atas – ONVIF. Lalu isikan alamat ip dan klik tombol search. Secara pintar, shinobi bisa mendeteksi kamera dalam jaringan yang kombatibel ONVIF. Jika ketemu, akan ditampilkan deskripsi kamera, bahkan bisa tahu merek/modelnya. Lalu tinggal klik tombol bergambar 2 dokumen (seperti ikon duplicate).
Selanjutnya tinggal melengkapi/mengganti isian yang ditampilkan (sama dengan jendela Add Monitor). Tinggal disesuaikan saja atau langsung Save. Secara baku, kamera akan memiliki mode View Only. Kita bisa mengatur/mengganti modenya menjadi Record.
Power Video Viewer
Digunakan untuk melihat video yang sudah tersimpan terekam. Tombol ikonnya mirip seperti tag/point pada peta.
Seingat saya, Power Video Viewer ini yang tidak bisa di Chrome.
Dah itu dulu tulisan kali ini. Tulisan berikutnya saya akan jelaskan cara optimasinya.
*Featured image diambil dari http://getwallpapers.com/collection/hidden-leaf-village-wallpaper
DingTalk Destop di Tumbleweed
DingTalk adalah aplikasi pusat tempat bekerja bergerak (An All-in-one Mobile Workplace). Mulai dari Ngobrel, berkirim surel, meeting hinggal presentasi live.
Tool ini merupakan buatan Alibaba. Dan sejak saya ikut menjadi MVP Alibaba Cloud, komunikasi intensif berpindah menggunakan tools ini.
DingTalk memiliki versi untuk mobile Android maupun iOS. Sedangkan untuk versi destop hanya tersedia untuk OSX dan Windows. Untuk GNU/Linux tidak disediakan.

Namun ternyata ada DingTalk Destop versi tidak resmi di lumbung GitHub. Tautan ini saya dapatkan ketika bertanya di channel Alibaba Cloud MVP.
Lumbung tersedia di tautan https://github.com/nashaofu/dingtalk. Lumbung ini ditulis dengan Electron. Mari kita bangun paket untuk Tumbleweed.
- Install NodeJS
- Clone repo
- Ubah suai berkas package.json
- Build electron
- Build paket RPM
- Install paket RPM.
Berkas package.json saya ubah suai sedikit untuk mengganti nama paket dan mempercepat proses membangun paket RPM. Berikut hasil diff package.json dan perintah bashnya.
build.patch
--- package.json.orig 2020-04-04 10:23:45.888371916 +0700
+++ package.json 2020-04-04 10:55:44.369370401 +0700
@@ -81,7 +81,7 @@
},
"build": {
"appId": "com.electron.dingtalk",
- "productName": "钉钉",
+ "productName": "DingTalk",
"artifactName": "dingtalk-${version}-${channel}-${arch}.${ext}",
"copyright": "Copyright © year nashaofu",
"asar": true,
@@ -119,30 +119,9 @@
"linux": {
"target": [
{
- "target": "AppImage",
- "arch": [
- "x64",
- "ia32",
- "arm64",
- "armv7l"
- ]
- },
- {
- "target": "deb",
- "arch": [
- "x64",
- "ia32",
- "arm64",
- "armv7l"
- ]
- },
- {
"target": "rpm",
"arch": [
- "x64",
- "ia32",
- "arm64",
- "armv7l"
+ "x64"
]
}
],
Perintah eksekusi
patch -p0 < build.patch
npm install
npm run build
npm run pack
sudo zypper in release/dingtalk-2.1.3-latest-x86_64.rpm
Ada beberapa galat yang muncul ketika selesai memasang, namun bisa diabaikan. Setelah dipasang, silakan mencari nama aplikasi dengan kata kunci DingTalk. Kemudian login dengan menggunakan bantuan scan QR Code.
Demikian, semoga bermanfaat. 
Estu~
Server CCTV dengan Shinobi Video – Bag. 1, IP Cam
Oprekan kali ini bermula dari lokasi proyek rumah yang kemalingan. Saat awal bangun, kemalingan genset, berikutnya beberapa minggu lalu, para tukang kemalingan handphone.
Saya memiliki cctv yang ada di rumah, subsidi dari Pak Bos yang memiliki perusahaan penjualan cctv. Yang sudah dipakai, sangat mudah dioperasikan. Just work. Namun kali ini sejak pandemi, saya kepikir untuk memanage cctv tersebut dengan linux, entah raspi atau pakai komputer-komputer spek rendah.
Sebelumnya, saya sama sekali tidak mengerti teknologi cctv beserta perabotannya. Namun sejak ngoprek ini, pengetahuan jadi bertambah. Awalnya hanya tau/nemu Shinobi Video saja, setelah itu bingung, harus bagaimana? cara koneksinya ke cctv bagaimana?
Dinamakan IP Cam, tentunya memiliki IP, umumnya, dari pabrikan diatur menjadi dhcp client. Sehingga dapat IP otomatis dari router/server dhcp. Saya dipinjami IP Cam oleh Pak Iwan Tahari. Dalam kardusnya tidak ada informasi apapun (buku manual juga tidak ada). Merek/Pabrikan pembuatnya juga tidak tahu. Jadi dengan coba-coba colokin aja ke router/modem yang ada di rumah, lalu diintip dapat IP berapa, nah itu dia tinggal dipanggil IPnya di peramban.
Setelah sukses dapat IP, saya punya 1 komputer yang rencananya jadi server cctv dan sudah ada dhcp servernya, saya sambungkan IP Cam tersebut ke komputer . Dapat IP 10.42.0.151. Tinggal dipanggil di peramban dan muncul antar muka web si kamera.
Hal utama yang perlu dilakukan adala mengatur zona waktu/waktu, agar nantinya saat dipakai, timestamp yang ditampilkan sesuai. Hal berikutnya adalah pengaturan kualitas gambar. Kamera ini sanggup merekam video/gambar dengan codec H265 dan H264, juga bisa merekam audio serta pengaturan fps dan kualitas. Saya mengatur kualitas medium dan codec H264 (karena H265, rata-rata browser tidak mulus menampilkannya).
Selanjutnya, bagaimana cara menguji bahwa kamera tersebut bisa digunakan? Saya cukup bingung dengan pertanyaan sendiri. Mencari-cari, akhirnya menemukan jawaban, bahwa bisa menguji dengan menggunakan VLC. Tinggal memasukkan url rtp/udp melalui menu Open Network. Nah bagaimana mendapatkan urlnya? macem-macem jawabnya dan bingung. Namun saya menemukan aplikasi pembantu, yang bisa memandu kita.
Aplikasinya bernama iSpy, opensource, adanya di OS Windows saja. Cara penggunaannya cukup mudah, bisa mencari berdasarkan IP yang kita masukkan atau dia mencari melalui jaringan yang ada. Setelah itu dia akan memberikan info ke kita daftar url yang bisa digunakan.
Ada beberapa format yang perlu diperhatikan:
- ONVIF, ini format standar IP Cam, jika bisa ini, dengan Shinobi bisa otomatis dalam pendeteksiannya.
- RTSP, catat url rtsp yang diberikan, di atas contohnya rtsp://ip:8554/live/ch00_0
Setelah sukses tampil di VLC, kita bisa melanjutkan pemasangan Shinobi Video.
Pendaftaran Peserta KonPeTI Dibuka

Memasang Cockpit pada openSUSE Leap 15.1
Sebelumnya, ada obrolan tentang Cockpit di status facebook om Adang Hidayat, dan tantangan dari pak Presiden Kukuh Syafaat, akhirnya sifat iseng ini timbul kembali, apalagi saat ini sedang gencar #gerakdarirumah
Apa itu Cockpit?
Menurut situs Cockpit Project, cockpit merupakan sebuah interface yang interaktif untuk administrasi server, sepengetahuan penulis, aplikasi ini secara default tersedia di distro linux CentOS, sedangkan untuk distro lain, seperti openSUSE dan Ubuntu, maka untuk menggunakan service cockpit, maka perlu dilakukan pemasangan service cockpit.
Untuk itu, dalam kesempatan ini, penulis akan berbagi tips cara pemasangan service cockpit dan bagaimana cara mengaktifkan service cockpit pada openSUSE Leap 15.1 (untuk sistem operasi lain tidak dibahas disini karena blog ini adalah blog openSUSE, bukan yang lain).
Langkah-langkah Pemasangan :
Tambahkan repository systemsmanagement:cockpit dengan perintah :
sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:cockpit/openSUSE_Leap_15.1/systemsmanagement:cockpit.repo
Setelah itu refresh database repository dengan perintah :
sudo zypper refresh
Apabila ada pertanyaan seperti dibawah ini, masukkan jawaban dengan huruf a (trust always) :
Do you want to reject the key, trust temporarily, or trust always? [r/t/a/?] (r): a
Kemudian install cockpit dengan perintah :
sudo zypper install cockpit
Setelah itu, jalankan service cockpit secara manual dengan perintah :
sudo systemctl start cockpit
Masuk ke webconsole Cockpit
Untuk masuk ke webconsole, pada web browser anda masukkan alamat :
https://IP_Address_Server_Cockpit:9090/
Apabila ada informasi Your connection is not private seperti gambar dibawah ini, klik tombol Advanced,

Kemudian klik opsi Proceed to <ip_address> (unsafe), seperti dibawah ini :

Setelah itu akan tampil halaman login cockpit :

Masukkan username dan password user yang digunakan untuk login di OS openSUSE Leap, untuk masuk ke menu cockpit.
Halaman dashboard cockpit :

Menjalankan cockpit secara otomatis setelah Restart/Reboot
Secara default, service cockpit tidak dapat dijalankan secara otomatis, karena tidak adanya komponen [Install], dan apabila dijalankan perintah :
sudo systemctl enable cockpit
akan ada keluaran seperti dibawah ini :
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units). This means they are not meant to be enabled using systemctl. Possible reasons for having this kind of units are: 1) A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory. 2) A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it. 3) A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...). 4) In case of template units, the unit is meant to be enabled with some instance name specified.
Untuk itu perlu kita lakukan editing pada file /usr/lib/systemd/system/cockpit.service, dan menambahkan baris :
[Install] WantedBy=multi-user.target
Sehingga menjadi seperti dibawah ini :
[Unit] Description=Cockpit Web Service Documentation=man:cockpit-ws(8) Requires=cockpit.socket [Service] ExecStartPre=/usr/sbin/remotectl certificate --ensure --user=root --group=cockpit-ws --selinux-type=etc_t ExecStart=/usr/lib/cockpit-ws PermissionsStartOnly=true User=cockpit-ws Group=cockpit-ws [Install] WantedBy=multi-user.target
Setelah itu jalankan perintah dibawah ini :
sudo systemctl daemon-reload
Kemudian lanjutkan dengan perintah dibawah ini agar service cockpit otomatis berjalan setelah restart :
sudo systemctl enable cockpit
Konferensi Pekerja Teknologi Informasi (KonPeTI) — #GerakDariRumah
Konferensi Pekerja Teknologi Informasi (KonPeTI) merupakan bagian dari kegiatan #GerakDariRumah. Kegiatan ini mempertemukan pengguna, pebisnis, pengembang, pelajar dan profesional Teknologi Informasi (TI) dari seluruh belahan dunia. Kegiatan ini dilaksanankan secara daring dengan format penyajian utama, lokakarya, penyajian paralel, bicara kilat, dan diskusi panel. Sasaran dari kegiatan ini adalah masyarakat umum Indonesia yang menginginkan pengetahuan baru seputar TI sekaligus berdonasi untuk pihak terdampak wabah COVID-19 di Indonesia. Materi yang disajikan dan dibahas mulai dari tingkat pemula sampai tingkat mahir. KonPeTI akan diselenggarakan pada Sabtu, 18 April 2020.
Panggilan untuk penyaji dan pendaftaran peserta telah dibuka. Mari berkontribusi dan berdonasi!

#GerakDariRumah adalah upaya penggalangan dana sosial COVID-19 dari masyarakat dengan cara melakukan kegiatan kolaborasi jarak jauh dari rumah memanfaatkan media daring. Dana terkumpul akan disalurkan oleh penyelenggara ke pihak membutuhkan di Indonesia yang terdampak wabah COVID-19 seperti untuk pembelian masker dan Alat Pelindung Diri (APD) bagi pekerja medik, pembelian makanan pokok untuk keluarga miskin yang penanggungnya terkena COVID-19 atau keperluan lainnya (belum ditentukan). Bentuk kegiatan kolaborasi daring yang dapat dilakukan yaitu konferensi, seminar, pelatihan, lokakarya, penyajian, pengajian, atau bentuk kegiatan lainnya. Siapapun dapat mengikuti kegiatan sekaligus memberikan donasi. Perusahaan apapun dapat pula membantu menjadi sponsor atau menjadi donatur. Penyelenggara atau kontributor merupakan relawan individu atau wakil komunitas dan tidak menerima upah dari dana donasi ataupun imbalan dari pihak manapun. Semua dana masuk dan keluar dicatat dan dilaporkan secara transparan ke publik.
Pasang ulang Weibu F3C – Endless Mini PC (unreleased)
Saya mendapatkan komputer ini dari Baris, CEO Endless Solutions jaman saya masih jadi ambassador pada 2017. Sudah terpasang Endless OS dan berfungsi dengan baik. Beberapa hari ini saya memutuskan untuk mengganti OSnya dengan OS apapun yang memungkinkan.
Pengujian pertama dengan openSUSE Tumbleweed, pemasangan berjalan mulus, masuk desktop agak kacau dikarenakan layar HDMI dianggap sebagai layar extended. Jadi harus mengarahkan kursor yang tepat dan mengatur ulang layar beserta resolusinya. Setelah masuk desktop, wireless tidak bisa digunakan. ini sudah sesuai prediksi. Pasang firmware non-free juga tidak membuahkan hasil.
Pengujian berikutnya dengan Ubuntu 20.04 yang masih Beta. Hampir sama, perbedaannya hanya si Ubuntu sedikit lebih pintar mengenali layar dari pada openSUSE. Namun tetap perlu mengatur resolusi layarnya. Wireless juga sama-sama tidak bisa digunakan walaupun sudah memasang firmware non-free.
Berikutnya nyari firmware yang dipakai Endless OS, nemu di github https://github.com/endlessm/linux-firmware. Coba dipasang … jreng, tetep gagal. Karena masih penasaran, saya unduh iso Endless OS terkini, dan install lagi. Selanjutnya ambil /lib/firmware untuk dibandingkan, ternyata ada sedikit (bisa dibilang banyak sih) tambahan dari yang ada di github. Saya rangkum di https://lumbung.mycoop.id/ahmadharis/linux-firmware/commit/ee4aec2c50e82a06861e2b166814d418e3d5046b. Setelah dipasang, reboot, tetep gak mau.
Baca-baca dmesg, terus guling-guling, nemu titik terang untuk ambil dari https://archive.raspberrypi.org/debian/pool/main/f/firmware-nonfree/firmware-brcm80211_20161130-3+rpt3_all.deb terus dibongkar. Dicomot yang brcmfmac43455. Saya rangkum di https://lumbung.mycoop.id/ahmadharis/linux-firmware/commit/1c1f19900b2399ce123dd5e5d2978aa6ba21e397.
Dicoba di Ubuntu 20.04 sukses. Di openSUSE Tumbleweed pun demikian.
Macbook Jadul dengan openSUSE Tumbleweed
Jadi kapan hari menjenguk duo R, dan keinget kalau ada “harta” lama yang gak dipakai. Jadinya saya minta dan dicoba dihidupkan. Macbook2,1. Laptop jaman Pak Beye kata teman saya.
Ini komputer cukup nyusahin. Kalau pakai MacOS X mentok di Lion. Walhasil gak bisa ngapa-ngapain, wong banyak aplikasi ndak support. Boot usb linux juga ndak mau, gak kayak Macbook keluaran baru yang mau boot linux. Dulu masang ubuntu lewat media CD. Berhubung sudah gak punya CD, alhasil menggunakan segala cara agar bisa boot. Cara termudah adalah memasang ubuntu dari komputer lain, lalu pindah disknya ke macbook jadul tersebut.
Bagaimana dengan OS Linux lainnya? susah … gak bisa kepasang. Kesimpulan akhir, karena grub yang terpasang di ubuntu itu grub-pc i386 (walaupun pakai arch 64 bit). Jadi yang mulus terpasang pertama kali adalah ubuntu.
Selanjutnya usaha agar memasang openSUSE Tumbleweed. Berbagai cara sudah digunakan, ketemu kesimpulan cara yang mujarab sebagai berikut:
- Pasang opensuse (boot legacy, jangan uefi) pada disk (usb flashdisk) lain dengan komputer lain.
- Sediakan partisi kosong ext4 di macbook jadul tersebut.
- Salin isi usb flashdisk pada nomor 1 ke dalam partisi ext4 tadi. Salin dengan opsi -rapv biar kebawa semua atribut dan permission berkasnya.
- Uji dengan chroot, kalau mulus berarti sudah benar.
- Ubah fstab, sesuaikan dengan uuid yang baru, pindah motherboard/komputer akan membuat beda uuid.
- Edit grub di ubuntu, sesuaikan.
Ribet kan? tapi seru, buat nambah kesibukan selama masa diam di rumah.
Pergi ke FOSDEM 2020
Ini nulisnya telat banget, juga males nulis banyak karena udah telat. Intinya sih pingin pamer kalau berhasil pergi ke FOSDEM 2020 di Belgia. Dan seru-seruan bersama teman-teman TDF/LibreOffice.
Foto lainnya masih banyak sih, tapi ndak minat ditaruh di sini. 
Perjalanan ini ditanggung sepenuhnya oleh The Document Foundation (kecuali pembelian oleh-oleh).
Sesi Berbagi: FLOSS & Creative Commons Dalam Pendidikan & Pekerjaan

















