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.
Sistem mendukung dua kategori backend: Visionaire Media (SRS-based, dikembangkan oleh Nodeflux) dan NVR generik seperti Hikvision. Pemilihan tipe server menentukan fitur apa saja yang tersedia — misalnya, backend Hikvision tidak mendukung fitur live stream melalui antarmuka Lenz.
Halaman ini memerlukan permission RBAC NVR_SERVERS. 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
Lengkapi field berikut pada formulir:
- 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. - Tipe — pilih tipe backend server:
srsuntuk Visionaire Media, atauhikvisionuntuk NVR Hikvision. - Port API (opsional) — port yang digunakan untuk komunikasi API. Jika dikosongkan, sistem menggunakan port default (
9080). - Port Playback (opsional) — port yang digunakan untuk streaming playback. Jika dikosongkan, sistem menggunakan port default yang sama dengan Port API.
Uji koneksi server
Sebelum menyimpan, klik tombol Periksa Kesehatan untuk memverifikasi bahwa server dapat dijangkau dari jaringan. Sistem akan mencoba terhubung ke endpoint {host}:{port}/api/v1/health.
- Server sehat dan dapat dijangkau — server siap digunakan, Anda dapat langsung membuat server.
- Server tidak dapat dijangkau — muncul dialog konfirmasi. Anda masih dapat melanjutkan pembuatan, tetapi fitur stream dan rekaman mungkin tidak berfungsi hingga server aktif.
Simpan konfigurasi
Klik Buat Server 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 Host URL jika server dipindahkan ke IP baru, atau Port API jika terjadi perubahan konfigurasi jaringan. Semua 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.
Tipe Server yang Didukung
Visionaire Media adalah Media Server berbasis SRS (Simple Realtime Server) yang dikembangkan oleh Nodeflux. Ini adalah tipe server yang direkomendasikan untuk deployment bersama Lenz Dashboard karena mendukung seluruh fitur yang tersedia.
Konfigurasi yang diperlukan:
type:srsapi_port: port API SRS (default:9080)playback_port: port playback HLS (default: sama denganapi_port)
Fitur yang didukung:
- Melihat daftar stream aktif yang sedang dipublish
- 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. Tipe ini mendukung integrasi rekaman tetapi dengan keterbatasan fitur dibandingkan Visionaire Media.
Konfigurasi yang diperlukan:
type:hikvisionapi_port: port API NVR Hikvisionplayback_port: port untuk akses playback
Fitur yang didukung:
- Recorded Streams — daftar rekaman yang tersimpan
- Playback rekaman historis
Fitur yang tidak didukung:
- Live stream preview melalui antarmuka Lenz (
viewStreamsdinonaktifkan) - Manajemen koneksi klien
Untuk NVR Hikvision, tombol Lihat Stream Media pada baris server tidak tersedia karena backend Hikvision tidak mendukung fitur ini melalui antarmuka Lenz.
Fitur Utama
Health Check Real-time
Uji koneksi ke server secara langsung sebelum menyimpan konfigurasi — 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
Jika Port API dan Port Playback tidak diisi, sistem secara otomatis menggunakan nilai default (9080) sehingga integrator tidak perlu menghafal nilai port untuk deployment standar.
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 header
Authorization: Bearer <Token>. Lihat Otentikasi untuk cara mendapatkan Token.
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 "Authorization: Bearer <Token>"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.
Request Body:
Prop
Type
curl -X POST "${API_URL}/api/nvr-servers" \
-H "Authorization: Bearer <Token>" \
-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 "Authorization: Bearer <Token>" \
-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 "Authorization: Bearer <Token>"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.