xieb
2023-09-13 3667807a7b7418efc090ee3fa6a6b734bc3080bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
export interface LiveStreamStatus {
    audioBitRate: number,
    dropRate: number,
    fps: number,
    jitter: number,
    quality: number,
    rtt: number,
    status: number,
    type: number,
    videoBitRate: number
}
 
export interface GB28181Param {
    serverIp: string,
    serverPort: string,
    serverId: string,
    agentId: string,
    password: string,
    agentPort: string,
    agentChannel: string
}
 
export interface RTSPParam {
    userName: string,
    password: string,
    port: string
}
 
export interface LiveConfigParam {
    params: number,
    type: any
}
 
export enum EVideoPublishType {
    VideoOnDemand = 'video-on-demand',
    VideoByManual = 'video-by-manual',
    VideoDemandAuxManual = 'video-demand-aux-manual'
}
 
export enum ELiveTypeValue {
    Unknown,
    Agora,
    RTMP,
    RTSP,
    GB28181
}
 
export enum ELiveTypeName {
    Unknown = 'Unknown',
    Agora = 'Agora',
    RTMP = 'RTMP',
    RTSP = 'RTSP',
    GB28181 = 'GB28181'
}
 
export enum CameraMode {
    Photo = 0, // 拍照
    Video = 1, // 录像
}
 
// 镜头类型
export enum VideoType {
    NORMAL = 'normal',
    WIDE = 'wide',
    ZOOM = 'zoom',
    IR = 'ir'
}
 
// 镜头类型
export enum CameraType {
    WIDE = 'wide',
    ZOOM = 'zoom',
    IR = 'ir'
}
 
export const CameraTypeOptions = [
  { label: CameraType.WIDE, value: CameraType.WIDE },
  { label: CameraType.ZOOM, value: CameraType.ZOOM },
  { label: CameraType.IR, value: CameraType.IR },
]
 
export const ZoomCameraTypeOptions = [
  { label: CameraType.ZOOM, value: CameraType.ZOOM },
  { label: CameraType.IR, value: CameraType.IR },
]
 
export interface VideoListItem {
    video_index: string;
    video_type: VideoType;
    switchable_video_types?: Array<VideoType>;
}
 
export interface CameraListItem {
    available_video_number: number;
    camera_index: string;
    camera_name: string;
    coexist_video_number_max: number;
    video_list: VideoListItem[];
    // 自定义
    switchCamera?: boolean;
    content?: string;
    // 该camera由哪个控上报的
    camera_carrier_sns?: string[];
}
 
export interface DeviceListItem {
    sn: string;
    available_video_number: number;
    coexist_video_number_max: number;
    camera_list: CameraListItem[];
}
 
// export interface LiveCapacity {
//     available_video_number: number;
//     coexist_video_number_max: number;
//     device_list: DeviceListItem[];
// }
 
// export interface LiveStatus {
//     live_time: number; // 直播时间 该路码流已推流时间 unit: s
//     live_trendline: number; // 直播带宽的使用状态 代表直播性能趋势,0-4表示overuse,其中,数值越小,表示overuse程度越大,5表示normal状态,6~10表示underuse,其中,数值越大,表示有更多比例的带宽未能充分利用
//     video_id: string; // 直播码流标识符 某路在推视频码流的标识符,格式为 #{uav_sn}/#{camera_id}/#{video_index}
//     video_quality: number; // 直播码流的质量 0: 自动, 1: 流畅, 2: 高清, 3: 超清
//     error_status?: number; // 设备端当前状态,是错误码,需要匹配到文案上
//   }