Video Management
Kelola video yang diunggah ke Media Server — pratinjau, restart device, hapus, dan kontrol streaming per video dari satu halaman terpusat.
Pengenalan
Halaman Video Management (/video-management) adalah antarmuka untuk mengelola video yang telah diunggah ke Media Server (Lyodra/Visionaire Media). Di sini Anda dapat melihat daftar video, memantau status streaming setiap file, melakukan restart atau stop device yang menayangkan video, serta menghapus video yang tidak lagi dibutuhkan.
Perbedaan dengan halaman Streams: Halaman Streams (/streams) digunakan untuk mengelola stream kamera CCTV langsung (RTSP/RTMP) beserta assignment analitik AI secara bulk — enable, disable, atau hapus banyak stream sekaligus. Halaman Video Management khusus untuk mengelola file video yang diunggah ke Media Server: file rekaman, video uji coba, atau footage historis yang diputar ulang sebagai stream oleh Lyodra.
Halaman ini dilindungi RBAC dengan resource video_management. Pastikan Anda memiliki permission yang sesuai; jika menu tidak muncul, hubungi administrator sistem.
Cara Menggunakan
Mengunggah Video
Pilih Media Server
Di bagian atas halaman, pilih Media Server yang menjadi tujuan upload melalui dropdown Media Server. Sistem akan mengingat pilihan terakhir Anda menggunakan penyimpanan lokal browser — Anda tidak perlu memilih ulang setiap kali membuka halaman.
Seret atau pilih file video
Di area unggah, seret file video ke zona drop atau klik untuk membuka dialog pemilihan file. Format yang didukung tergantung konfigurasi Media Server; resolusi maksimum yang diizinkan adalah 2K (lebar piksel sesuai batas server).
Jika file yang sama sudah ada di server, sistem akan menampilkan dialog konfirmasi duplikat dengan tiga pilihan penanganan: Timpa (replace), Ubah Nama (rename), atau Lewati (skip).
Atur waktu rekaman
Sebelum memulai unggah, Anda dapat mengatur Waktu Mulai rekaman video. Sistem akan mencoba mengekstrak timestamp secara otomatis dari metadata file (tag Recorded_Date, Encoded_Date, nama file, dll.). Jika tersedia Gemini API Key, ekstraksi timestamp berbasis AI dari frame video juga dapat diaktifkan.
Untuk mengatur secara manual, pilih opsi Manual dan masukkan waktu rekaman pada kolom yang tersedia.
Mulai unggah
Klik Mulai Unggah (satu file) atau Mulai Unggah Semua File (beberapa file). Proses unggah menggunakan mekanisme chunked upload dengan dukungan resume — jika koneksi terputus, Anda dapat melanjutkan unggah yang terhenti tanpa mengirim ulang dari awal.
Jangan berpindah halaman atau menutup jendela browser selama proses unggah berlangsung.
Mengelola Video yang Sudah Diunggah
Setelah video diunggah, video akan muncul di tabel di bawah area unggah. Tabel mendukung pencarian berdasarkan nama file, pengurutan berdasarkan kolom, dan paginasi.
Restart Device
Temukan video yang ingin di-restart
Gunakan kolom pencarian atau urutkan tabel berdasarkan kolom Status untuk menemukan video yang statusnya bermasalah (stopped atau tidak responsif).
Klik tombol Restart
Pada baris video yang bersangkutan, klik ikon Restart Device (ikon refresh). Aksi ini akan menghentikan lalu memulai ulang proses FFmpeg yang menayangkan video tersebut di Media Server.
Verifikasi status
Setelah beberapa detik, tabel akan diperbarui secara otomatis. Status video yang berhasil di-restart akan berubah menjadi streaming.
Stop Device
Klik ikon Stop Device pada baris video yang ingin dihentikan. Sistem akan menampilkan dialog konfirmasi karena menghentikan device akan mengganggu semua stream yang bergantung padanya. Konfirmasi dengan klik Saya mengerti, lanjutkan.
Hapus Video
Klik ikon Hapus pada baris video yang ingin dihapus. Sistem akan menampilkan dialog konfirmasi. Setelah dikonfirmasi, video akan dihapus dari Media Server secara permanen.
Pratinjau Video
Klik ikon Pratinjau untuk membuka dialog pratinjau video. Dialog menampilkan player video (hingga 10 detik), informasi file, informasi device, URL RTSP stream, dan sesi RTSP aktif (publishing/playing).
Fitur Utama
Chunked Upload dengan Resume
Video diunggah dalam potongan (chunk) sehingga unggah yang terputus dapat dilanjutkan tanpa memulai dari awal. Cocok untuk file berukuran besar di jaringan tidak stabil.
Ekstraksi Timestamp Otomatis
Sistem mengekstrak waktu rekaman dari metadata video secara otomatis (Recorded_Date, Encoded_Date, nama file). Didukung juga ekstraksi berbasis AI menggunakan Gemini jika dikonfigurasi.
Kontrol Streaming per Video
Setiap video yang diunggah dijalankan sebagai device oleh Media Server. Anda dapat me-restart atau menghentikan proses streaming tanpa mempengaruhi video lain.
Manajemen Duplikat
Saat mengunggah file dengan nama yang sama, sistem mendeteksi duplikat dan meminta konfirmasi: timpa file lama, ubah nama file baru, atau lewati file duplikat.
Pratinjau RTSP In-Browser
Lihat pratinjau stream RTSP langsung di browser dan akses informasi sesi aktif — siapa yang sedang mengonsumsi stream — melalui panel RTSP Sessions.
Paginasi dan Pengurutan Server-side
Tabel mendukung pengurutan berdasarkan nama file, ukuran, durasi, waktu mulai, dan waktu unggah, serta paginasi yang diproses di sisi server untuk performa optimal.
API Reference
Video Management API
Semua endpoint video dirutekan melalui proxy Media Server di Raisa Gateway menggunakan path prefix {nvrServerId}.
Daftar Video
GET /api/visionaire-media/{nvrServerId}/videosQuery Parameters:
Prop
Type
Contoh respons:
{
"success": true,
"data": {
"videos": [
{
"id": "abc123",
"original_filename": "rekaman-2026-01.mp4",
"file_path": "/storage/videos/rekaman-2026-01.mp4",
"file_size": 104857600,
"created_at": "2026-01-15T08:00:00Z",
"status": "streaming",
"duration": 3600,
"started_at": "2026-01-15T00:00:00Z"
}
],
"count": 1,
"pagination": {
"current_page": 1,
"per_page": 10,
"total_items": 1,
"total_pages": 1
}
}
}Detail Video
GET /api/visionaire-media/{nvrServerId}/videos/{videoId}Hapus Video
DELETE /api/visionaire-media/{nvrServerId}/videos/{videoId}Respons sukses:
{
"success": true,
"message": "Video deleted successfully",
"video_id": "abc123"
}Unggah Chunk
POST /api/visionaire-media/{nvrServerId}/videos/upload
Content-Type: multipart/form-dataForm fields:
Prop
Type
Status Upload
GET /api/visionaire-media/{nvrServerId}/videos/upload/status/{sessionId}Resume Upload
GET /api/visionaire-media/{nvrServerId}/videos/upload/resume/{sessionId}Query parameters opsional: filename, video_id
Batalkan Upload
POST /api/visionaire-media/{nvrServerId}/videos/upload/cancel/{sessionId}Pause dan Resume Streaming Video
POST /api/visionaire-media/{nvrServerId}/videos/{videoId}/pause
POST /api/visionaire-media/{nvrServerId}/videos/{videoId}/resumeRespons:
{
"message": "Video paused",
"video_id": "abc123",
"status": "paused"
}Perbarui Metadata Video
PATCH /api/visionaire-media/{nvrServerId}/videos/{videoId}
Content-Type: application/jsonRequest body:
Prop
Type
Device API (Restart Pipeline)
Restart dan stop device video dilakukan melalui endpoint Device pada Media Server API. Setiap video yang diunggah direpresentasikan sebagai device dengan skema file.
Restart Device
POST /api/visionaire-media/{nvrServerId}/devices/{scheme}/{path}/restartMenghentikan dan memulai ulang proses FFmpeg untuk device yang menayangkan video. Gunakan saat video tidak responsif atau statusnya stopped tanpa sebab jelas.
Path parameters:
Prop
Type
Respons:
{
"message": "Device restarted successfully"
}Stop Device
POST /api/visionaire-media/{nvrServerId}/devices/{scheme}/{path}/stopMenghentikan proses streaming device tanpa menghapusnya dari sistem.
Ekstraksi Timestamp AI (Opsional)
POST /api/llm/frame-timestamp-extraction
Content-Type: multipart/form-dataProp
Type
Respons:
{
"ok": true,
"message": "Timestamp extracted",
"data": {
"timestamp": "15-01-2026T08:00:00",
"found": true,
"confidence": 0.97
}
}Tips & Troubleshooting
API Reference
Selanjutnya
Streams
Kelola stream kamera CCTV langsung (RTSP/RTMP): tambah, edit, enable/disable, dan hapus stream beserta assignment analitik AI.
Assignment
Assign analitik AI ke stream tertentu, atur ROI dan konfigurasi Pipeline untuk setiap kamera.
Media Servers
Daftarkan dan kelola Media Server (NVR) yang digunakan untuk menyimpan rekaman dan menayangkan video.
API Reference — Streams
Endpoint untuk mengelola Stream (CCTV/RTSP/RTMP), statistik, Site assignment, dan status node Visionaire.
API Reference — Video Management
Endpoint untuk mengelola video yang diunggah ke Media Server — upload chunked, kontrol streaming, operasi CRUD, dan ekstraksi timestamp berbasis AI.