Nodeflux Central
Media Servers

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.

Dialog Tambah Server Media Baru: (1) Nama Server sebagai label yang muncul di seluruh dashboard, (2) URL Host berisi skema dan alamat saja (tanpa port), (3) Periksa Kesehatan menguji koneksi sebelum disimpan dan membalas Server sehat dan dapat dijangkau bila berhasil, (4) Use custom port membuka isian port API dan port Playback bila server tidak memakai port bawaan.
Dialog Tambah Server Media Baru: (1) Nama Server sebagai label yang muncul di seluruh dashboard, (2) URL Host berisi skema dan alamat saja (tanpa port), (3) Periksa Kesehatan menguji koneksi sebelum disimpan dan membalas Server sehat dan dapat dijangkau bila berhasil, (4) Use custom port membuka isian port API dan port Playback bila server tidak memakai port bawaan.

Isi formulir konfigurasi

Formulir tambah server hanya berisi dua field wajib:

  • Nama Server — nama deskriptif untuk identifikasi server, misalnya NVR Gedung A atau Visionaire-Lobby.
  • URL Host — alamat IP atau domain tempat server di-deploy, tanpa nomor port. Contoh: http://192.168.1.100 atau https://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 header Authorization. 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

GET /api/nvr-servers
curl -X GET "${API_URL}/api/nvr-servers" \
  -H "X-Api-Key: <api-key>"

Contoh respons:

Respons GET /api/nvr-servers
{
  "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

POST /api/nvr-servers
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:

Respons POST /api/nvr-servers
{
  "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:

ParameterTipeKeterangan
idnumberID numerik server yang akan diperbarui.

Request Body: Sama dengan POST — seluruh field wajib disertakan kembali.

PUT /api/nvr-servers/{id}
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:

ParameterTipeKeterangan
idnumberID numerik server yang akan dihapus.

Query Parameters:

Prop

Type

DELETE /api/nvr-servers/{id}
curl -X DELETE "${API_URL}/api/nvr-servers/3" \
  -H "X-Api-Key: <api-key>"

Respons sukses:

Respons DELETE berhasil
{
  "ok": true,
  "message": "NVR Server deleted successfully"
}

Tips & Troubleshooting


Selanjutnya

On this page