feat: expand livestream management platform
This commit is contained in:
1 parent
383c066d86
commit
ed62d42a63
12 files changed
+223
-24
No files matched your search
@@ -1,5 +1,19 @@
|
||||
import api from './client'
|
||||
|
||||
export interface RenditionConfig {
|
||||
label: string
|
||||
enabled: boolean
|
||||
width: number
|
||||
height: number
|
||||
fps: number
|
||||
codec: 'libx264' | 'libx265'
|
||||
bitrate: string
|
||||
crf: number
|
||||
preset: 'ultrafast' | 'superfast' | 'veryfast' | 'faster' | 'fast' | 'medium' | 'slow'
|
||||
audio_bitrate: string
|
||||
keyframe_seconds: number
|
||||
}
|
||||
|
||||
export interface StreamInfo {
|
||||
id: number
|
||||
title: string
|
||||
@@ -15,6 +29,7 @@ export interface StreamInfo {
|
||||
replay_file?: string
|
||||
chapters: Chapter[]
|
||||
transcode_profile: string
|
||||
renditions?: RenditionConfig[] | null
|
||||
homepage_visible: boolean
|
||||
remote_control_enabled: boolean
|
||||
}
|
||||
@@ -32,6 +47,7 @@ export interface StreamCreateReq {
|
||||
replay_file?: string
|
||||
chapters?: Chapter[]
|
||||
transcode_profile?: string
|
||||
renditions?: RenditionConfig[]
|
||||
homepage_visible?: boolean
|
||||
remote_control_enabled?: boolean
|
||||
}
|
||||
|
||||
@@ -3,12 +3,33 @@ import api from './client'
|
||||
export interface SystemMetrics {
|
||||
cpu_percent: number
|
||||
memory_percent: number
|
||||
memory_total_bytes: number
|
||||
memory_used_bytes: number
|
||||
disk_percent: number
|
||||
disk_total_bytes: number
|
||||
disk_used_bytes: number
|
||||
network_received_bytes: number
|
||||
network_sent_bytes: number
|
||||
}
|
||||
|
||||
interface SystemMetricsResponse {
|
||||
cpu: { load_percent: number }
|
||||
memory: { total: number; available: number; used_percent: number }
|
||||
disk: { total: number; free: number; used_percent: number }
|
||||
network: { bytes_recv: number; bytes_sent: number }
|
||||
}
|
||||
|
||||
export async function getSystemMetrics(): Promise<SystemMetrics> {
|
||||
const { data } = await api.get<SystemMetrics>('/settings/system-metrics')
|
||||
return data
|
||||
const { data } = await api.get<SystemMetricsResponse>('/settings/system-metrics')
|
||||
return {
|
||||
cpu_percent: data.cpu.load_percent,
|
||||
memory_percent: data.memory.used_percent,
|
||||
memory_total_bytes: data.memory.total,
|
||||
memory_used_bytes: Math.max(0, data.memory.total - data.memory.available),
|
||||
disk_percent: data.disk.used_percent,
|
||||
disk_total_bytes: data.disk.total,
|
||||
disk_used_bytes: Math.max(0, data.disk.total - data.disk.free),
|
||||
network_received_bytes: data.network.bytes_recv,
|
||||
network_sent_bytes: data.network.bytes_sent,
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user