Manajemen Server
Daftarkan, kelola, dan uji koneksi Media Server (NVR) — tambah server baru, edit konfigurasi host dan port, serta hapus server yang tidak lagi digunakan dari satu halaman terpusat.
Pengenalan
Halaman Media Servers (/media-servers/servers) adalah pusat manajemen seluruh NVR dan Media Server yang terhubung ke Lenz Dashboard. Dari halaman ini, administrator dan integrator dapat mendaftarkan server baru, memperbarui konfigurasi koneksi, menguji status kesehatan server, serta menghapus server yang tidak lagi aktif.
Setiap Media Server yang terdaftar menjadi sumber data untuk fitur lain di sistem — termasuk Recorded Streams, Playback, dan pemantauan stream aktif. Server yang tidak dapat dijangkau atau salah dikonfigurasi akan memengaruhi keseluruhan pipeline perekaman dan pemutaran ulang.
Lenz mengenali dua backend: Visionaire Media (SRS-based, dikembangkan oleh Nodeflux) dan NVR Hikvision. Anda tidak memilih tipe ini secara manual saat menambah server — Lenz mendeteksinya otomatis lewat Health Check setelah server tersambung, dan hasil deteksi itu yang menentukan fitur apa saja yang tersedia (misalnya, live stream preview tidak tersedia untuk backend Hikvision).
Halaman ini memerlukan permission RBAC MEDIA_SERVER. Jika menu tidak muncul, hubungi administrator sistem untuk mengatur hak akses yang sesuai.
Cara Menggunakan
Menambah Media Server Baru
Buka dialog tambah server
Di bagian atas halaman daftar server, klik tombol Tambah Server Media. Dialog formulir akan terbuka dan meminta Anda mengisi detail konfigurasi server.

Isi formulir konfigurasi
Formulir tambah server hanya berisi dua field wajib:
- Nama Server — nama deskriptif untuk identifikasi server, misalnya
NVR Gedung AatauVisionaire-Lobby. - URL Host — alamat IP atau domain tempat server di-deploy, tanpa nomor port. Contoh:
http://192.168.1.100atauhttps://nvr.example.com. Alamat IP server dapat berbeda dari alamat IP dashboard.
Tidak ada field Tipe — Anda tidak memilih backend secara manual (lihat Backend yang Dikenali Otomatis di bawah).
Secara default, Lenz memakai port 9080 untuk API maupun Playback. Jika server Anda memakai port lain, centang kotak Use custom port — kotak ini tampil dalam bahasa Inggris meski antarmuka berbahasa Indonesia — untuk menampilkan isian Port API dan Port Playback.
Periksa koneksi server
Health Check berjalan otomatis sesaat setelah Anda mengetik URL Host (setelah jeda singkat), dan Anda juga dapat memicunya manual dengan tombol Periksa Kesehatan di sebelah field URL Host. Sistem mencoba terhubung ke endpoint {host}:{port}/api/v1/health.
- Server sehat dan dapat dijangkau — server siap digunakan, tombol simpan berlabel Buat Server.
- Server tidak dapat dijangkau — tombol simpan berubah menjadi Tetap Buat. Anda masih dapat melanjutkan, tetapi fitur stream dan rekaman mungkin tidak berfungsi hingga server aktif.
- URL sudah terdaftar — jika host yang Anda masukkan cocok dengan server lain yang sudah ada, muncul peringatan duplikasi dan tombol simpan juga berubah menjadi Tetap Buat.
Simpan konfigurasi
Klik Buat Server (atau Tetap Buat jika Health Check gagal/URL terdeteksi duplikat) untuk menyimpan. Server baru akan langsung muncul dalam daftar dengan status kesehatan yang dapat diperiksa kapan saja.
Mengedit Media Server
Pilih server yang ingin diedit
Pada baris server di daftar, klik ikon Edit (atau aksi Edit server media dari menu aksi). Dialog formulir edit akan terbuka dengan nilai yang sudah terisi dari konfigurasi saat ini.
Perbarui field yang diperlukan
Ubah field yang perlu diperbarui — misalnya URL Host jika server dipindahkan ke IP baru, atau Port API/Port Playback (via kotak Use custom port) jika terjadi perubahan konfigurasi jaringan. Field mengikuti aturan yang sama dengan formulir penambahan server.
Uji ulang koneksi (direkomendasikan)
Setelah mengubah Host atau Port, disarankan untuk klik Periksa Kesehatan kembali untuk memastikan server masih dapat dijangkau dengan konfigurasi baru sebelum menyimpan perubahan.
Simpan perubahan
Klik Perbarui Server untuk menyimpan. Perubahan akan langsung berlaku untuk seluruh fitur yang menggunakan server ini.
Menghapus Media Server
Buka dialog konfirmasi hapus
Pada baris server, klik ikon Hapus atau pilih aksi Hapus server media. Dialog konfirmasi akan muncul menampilkan nama server yang akan dihapus.
Konfirmasi penghapusan
Baca pesan konfirmasi dengan seksama. Penghapusan server bersifat permanen dan tidak dapat dibatalkan. Klik Hapus untuk melanjutkan, atau Batal untuk membatalkan.
Menghapus Media Server akan menghilangkan server tersebut dari seluruh sistem. Rekaman yang sudah ada di server tidak ikut terhapus dari storage fisik, namun tidak lagi dapat diakses melalui Lenz Dashboard. Pastikan tidak ada proses rekaman aktif sebelum menghapus server.
Backend yang Dikenali Otomatis
Formulir Tambah/Edit Server tidak punya pemilih tipe. Setelah server tersimpan, Lenz mendeteksi backend-nya secara live lewat Health Check, dan hasilnya (srs atau hikvision) menentukan fitur mana yang muncul untuk server tersebut.
Visionaire Media adalah Liodra, Media Server yang dikembangkan oleh Nodeflux. Backend ini direkomendasikan untuk deployment bersama Lenz Dashboard karena mendukung seluruh fitur yang tersedia. Panduan instalasi dan konfigurasinya ada di Instalasi Liodra, dan detail pemetaan fitur Lenz ke endpoint Liodra di Integrasi Liodra dengan Lenz.
Port bawaan: 9080 untuk API maupun Playback, kecuali Anda mengaktifkan Use custom port saat mendaftarkan server.
Fitur yang didukung:
- Melihat daftar stream aktif yang sedang dipublish (tombol Lihat Stream Media)
- Manajemen koneksi klien (kickout)
- Recorded Streams — daftar stream dengan rekaman
- Playback rekaman per segmen
- Daily Playback dengan timeline 24 jam
- Health check via
/api/v1/health - Federation Mode (multi-instance)
NVR Hikvision adalah NVR generik dari vendor Hikvision. Backend ini mendukung integrasi rekaman tetapi dengan keterbatasan fitur dibandingkan Visionaire Media — perekaman dikelola oleh perangkat NVR itu sendiri, bukan oleh Lenz.
Fitur yang didukung:
- Recorded Streams — daftar rekaman yang tersimpan
- Playback rekaman historis
Fitur yang tidak didukung:
- Live stream preview melalui antarmuka Lenz — tombol Lihat Stream Media tidak tampil untuk server Hikvision
- Manajemen koneksi klien
- Hapus Rekaman dari halaman Recorded Streams — karena rekaman dikelola langsung oleh perangkat NVR, aksi hapus disembunyikan untuk server Hikvision (lihat Recorded Streams)
Tombol Lihat Stream Media pada baris server hanya muncul setelah Health Check mengenali server sebagai sehat, dan otomatis dinonaktifkan begitu backend-nya terdeteksi Hikvision.
Fitur Utama
Health Check Otomatis
Cek koneksi berjalan otomatis begitu Anda mengetik URL Host, plus tombol Periksa Kesehatan untuk memicu ulang kapan saja — sistem mencoba endpoint /api/v1/health dan melaporkan status dalam hitungan detik.
Deteksi Duplikasi URL
Saat menambah server baru, sistem mendeteksi apakah URL host yang dimasukkan sudah digunakan oleh server lain dan menampilkan peringatan agar tidak terjadi duplikasi konfigurasi.
Port Default Otomatis
Isian Port API dan Port Playback tersembunyi secara default — centang Use custom port hanya jika server Anda tidak memakai port bawaan 9080.
Status Kesehatan di Tabel
Setiap server dalam daftar menampilkan kolom Status Kesehatan yang dapat diperiksa secara on-demand — lihat server mana yang aktif dan berjalan (Aktif dan Berjalan) atau tidak tersedia saat ini.
Manajemen Multi-server
Daftarkan dan kelola beberapa Media Server sekaligus dalam satu tampilan tabel — cocok untuk deployment skala besar dengan banyak NVR di lokasi berbeda.
Federation Support
Dalam deployment multi-instance, parameter instance diteruskan ke seluruh operasi CRUD sehingga server dapat dikelola per-instance tanpa konflik data antar deployment.
API Reference
Semua endpoint memerlukan otentikasi. Untuk integrasi, kirim header
X-Api-Key: <key>di setiap request tanpa headerAuthorization. Bearer token (Authorization: Bearer <access_token>, berlaku 30 menit) hanya untuk aplikasi yang menampilkan login Lenz kepada penggunanya sendiri. Lihat Otentikasi untuk detail lengkap.
GET /api/nvr-servers
Mengambil daftar seluruh Media Server yang terdaftar di sistem.
Query Parameters:
Prop
Type
curl -X GET "${API_URL}/api/nvr-servers" \
-H "X-Api-Key: <api-key>"Contoh respons:
{
"ok": true,
"data": [
{
"id": 1,
"name": "NVR Gedung A",
"host": "http://192.168.1.100",
"type": "srs",
"api_port": "9080",
"playback_port": "9080",
"created_at": "2026-01-10T08:00:00Z",
"updated_at": "2026-04-01T12:00:00Z"
},
{
"id": 2,
"name": "NVR Parkir B",
"host": "http://192.168.1.200",
"type": "hikvision",
"api_port": "8080",
"playback_port": "8080",
"created_at": "2026-02-15T09:00:00Z",
"updated_at": "2026-03-20T14:30:00Z"
}
]
}Keterangan field NVRServer:
Prop
Type
POST /api/nvr-servers
Mendaftarkan Media Server baru ke sistem.
Dialog Tambah Server Media di Lenz tidak menampilkan field type — nilainya diisi otomatis oleh aplikasi. Field ini tetap ada di API untuk integrator yang mendaftarkan server langsung lewat REST API, tetapi tidak memengaruhi deteksi backend: Lenz selalu mendeteksi SRS vs Hikvision secara live lewat Health Check, terlepas dari nilai type yang tersimpan.
Request Body:
Prop
Type
curl -X POST "${API_URL}/api/nvr-servers" \
-H "X-Api-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "NVR Gedung A",
"host": "http://192.168.1.100",
"type": "srs",
"api_port": "9080",
"playback_port": "9080"
}'Contoh respons sukses:
{
"ok": true,
"data": {
"id": 3,
"name": "NVR Gedung A",
"host": "http://192.168.1.100",
"type": "srs",
"api_port": "9080",
"playback_port": "9080",
"created_at": "2026-04-30T10:00:00Z",
"updated_at": "2026-04-30T10:00:00Z"
}
}PUT /api/nvr-servers/{id}
Memperbarui konfigurasi Media Server yang sudah ada.
Path Parameters:
| Parameter | Tipe | Keterangan |
|---|---|---|
id | number | ID numerik server yang akan diperbarui. |
Request Body: Sama dengan POST — seluruh field wajib disertakan kembali.
curl -X PUT "${API_URL}/api/nvr-servers/3" \
-H "X-Api-Key: <api-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "NVR Gedung A - Updated",
"host": "http://192.168.1.105",
"type": "srs",
"api_port": "9080",
"playback_port": "9080"
}'DELETE /api/nvr-servers/{id}
Menghapus Media Server dari sistem secara permanen.
Path Parameters:
| Parameter | Tipe | Keterangan |
|---|---|---|
id | number | ID numerik server yang akan dihapus. |
Query Parameters:
Prop
Type
curl -X DELETE "${API_URL}/api/nvr-servers/3" \
-H "X-Api-Key: <api-key>"Respons sukses:
{
"ok": true,
"message": "NVR Server deleted successfully"
}Tips & Troubleshooting
Selanjutnya
Recorded Streams
Lihat daftar stream yang memiliki rekaman tersimpan di Media Server yang sudah Anda daftarkan — pilih stream untuk playback atau hapus rekaman yang tidak diperlukan.
Playback
Putar kembali rekaman stream tertentu dengan kontrol waktu dan navigasi antar segmen rekaman.
Daily Playback
Telusuri rekaman historis menggunakan kalender bulanan dan timeline scrubber per jam untuk navigasi rekaman yang presisi.