API Reference: Recordings
Endpoint untuk menemukan stream yang memiliki rekaman, ketersediaan harian dan per jam, playback berbasis waktu, unduh klip, dan penghapusan rekaman.
← Kembali ke Recordings & Playback
Struktur segmen, zona waktu, dan alur playback.
Retention
Endpoint kebijakan retensi dan pemakaian disk.
Liodra tidak memiliki otentikasi API sendiri; batasi akses port 9080 di tingkat jaringan atau reverse proxy. Basis URL memakai variabel LIODRA_API_URL (default http://localhost:9080). Semua endpoint di halaman ini memerlukan fitur playback aktif (--as-nvr), jika tidak menjawab 404. Semua waktu dalam UTC.
Penemuan Rekaman
Daftar Stream dengan Rekaman
Response Body
application/json
application/json
application/json
curl -X GET "http://localhost:9080/api/v1/recordings"{ "success": true, "data": { "total": 2, "recordings": [ { "app": "live", "name": "camera_front", "live": true, "available": true, "record": true }, { "app": "live", "name": "camera_back", "live": false, "available": true, "record": false } ] }}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}Distribusi Harian
Path Parameters
Query Parameters
Rentang bulan MMYY-MMYY.
Response Body
application/json
application/json
application/json
curl -X GET "http://localhost:9080/api/v1/recordings/live/camera_front/daily?search=0926-1026"{ "success": true, "data": [ { "year": 2026, "month": 9, "days": [ { "day": 14, "available": true, "date": "2026-09-14" }, { "day": 15, "available": true, "date": "2026-09-15" }, { "day": 16, "available": false, "date": "2026-09-16" } ] } ]}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}Distribusi Per Jam
Path Parameters
Query Parameters
Tanggal YYYY-MM-DD (UTC).
dateRentang jam HHMM-HHMM (opsional).
Response Body
application/json
application/json
application/json
curl -X GET "http://localhost:9080/api/v1/recordings/live/camera_front/hourly?date=2026-09-15&search=0800-1800"{ "success": true, "data": { "date": "2026-09-15", "hours": [ { "hour": 6, "minute": 0, "available": true, "duration": 5760, "time": "06:00", "ranges": [ { "start": "06:00", "end": "06:32" }, { "start": "06:44", "end": "06:59" } ] }, { "hour": 7, "minute": 0, "available": true, "duration": 3000, "time": "07:00", "ranges": [ { "start": "07:00", "end": "07:50" } ] } ] }}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}Playback
Daftar Segmen, Putar, atau Unduh
Path Parameters
{app}/{name} (standar), {channel}/{namaKamera}/{trackID} (Hikvision), atau vod/{id}.
Query Parameters
Waktu mulai RFC3339. Wajib untuk mode putar/unduh.
date-timeDurasi dalam detik. Wajib untuk mode putar/unduh.
floattrue/1: transcode HEVC ke H.264 (hardware-accelerated bila tersedia). Diabaikan saat download=true.
true/1: kirim sebagai file MP4 alih-alih stream MPEG-TS.
Response Body
application/json
application/json
application/json
application/json
curl -X GET "http://localhost:9080/api/v1/playbacks/live/camera_front?start=2026-09-15T02%3A30%3A00Z&duration=60&transcode=true&download=false"{ "success": true, "data": [ { "start": "2026-09-15T02:30:00Z", "duration": 30, "url": "/api/v1/playbacks/live/camera_front?start=2026-09-15T02:30:00Z&duration=30" }, { "start": "2026-09-15T02:30:30Z", "duration": 30, "url": "/api/v1/playbacks/live/camera_front?start=2026-09-15T02:30:30Z&duration=30" } ]}{ "success": false, "error": "Full path required in format: app/name (e.g., live/test_camera or live/hls/test_camera)"}{ "success": false, "error": "No segments found for requested time range"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}Penghapusan
Hapus Rekaman Stream
Path Parameters
{app}/{name}.
Response Body
application/json
application/json
application/json
application/json
curl -X DELETE "http://localhost:9080/api/v1/recordings/live/camera_front"{ "success": true, "message": "Recording deleted successfully: live/camera_front"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}{ "success": false, "error": "Not found", "details": "Resource does not exist"}Recordings & Playback
Cara Liodra merekam stream menjadi segmen DVR, menyajikan ketersediaan harian dan per jam, serta memutar atau mengunduh rekaman berdasarkan waktu.
Retention
Menghapus rekaman secara otomatis berdasarkan umur, jendela jam, dan kuota disk per channel, dengan pengaman darurat saat disk hampir penuh.