feat: 视频与控制程序合并

This commit is contained in:
2026-04-04 23:25:52 +08:00
parent 1a41905d4c
commit b0dcf7b571
17 changed files with 1674 additions and 554 deletions

View File

@@ -12,17 +12,96 @@ export interface GpsTelemetry {
updated_at: string
}
export interface SessionAppStats {
connected: number
send_calls?: number
send_bytes?: number
send_errors?: number
recv_calls?: number
recv_bytes?: number
recv_timeouts?: number
recv_errors?: number
}
export interface SessionKcpStats {
connected?: number
conv?: number
rto_ms?: number
srtt_ms?: number
srttvar_ms?: number
snd_queue?: number
rcv_queue?: number
snd_buffer?: number
xmit_total?: number
}
export interface SessionTelemetry {
app: SessionAppStats
kcp: SessionKcpStats
}
export interface NativeUdpIngress {
started: boolean
bind_addr: string
packets_received: number
invalid_packets: number
last_sender: string
last_error: string
}
export interface ControlArbiterStatus {
active_source: string | null
control_lease_remaining_ms: number
packet_counts: Record<string, number>
send_rate_hz: number
source_lease_ms: number
zero_burst_packets: number
last_error: string
last_sent_at_monotonic: number
}
export interface ControlSenderStatus {
backend_ready: boolean
started: boolean
connected: boolean
peer_id: string
target_peer: string
send_count: number
send_errors: number
drain_errors: number
last_error: string
}
export interface NetworkTelemetry {
peer_status: string
latency_ms: number
jitter_ms: number
packet_loss_pct: number
latency_ms: number | null
jitter_ms: number | null
packet_loss_pct: number | null
tx_kbps: number
rx_kbps: number
signal_dbm: number
transport: string
source_mode: string
updated_at: string
active_control_source: string | null
control_lease_remaining_ms: number
combined: {
connected_sessions: number
send_bytes: number
recv_bytes: number
tx_kbps: number
rx_kbps: number
}
sessions: {
video: SessionTelemetry
control: SessionTelemetry
}
ingress: {
native_udp: NativeUdpIngress
}
control: {
arbiter: ControlArbiterStatus
sender: ControlSenderStatus
}
}
export interface VideoStatus {