|
- # -*- coding: utf-8 -*-
- # 编码格式
- UTF_8 = "utf-8"
-
- # 文件读模式
- R = 'r'
- ON_OR = "_on_or_"
- ON_AI = "_on_ai_"
- MP4 = ".mp4"
- # 初始化进度
- init_progess = "0.0000"
- # 进度100%
- success_progess = "1.0000"
-
- # 拉流每帧图片缩小宽度大小限制, 大于1400像素缩小一半, 小于1400像素不变
- width = 1400
-
- COLOR = (
- [0, 0, 255],
- [255, 0, 0],
- [211, 0, 148],
- [0, 127, 0],
- [0, 69, 255],
- [0, 255, 0],
- [255, 0, 255],
- [0, 0, 127],
- [127, 0, 255],
- [255, 129, 0],
- [139, 139, 0],
- [255, 255, 0],
- [127, 255, 0],
- [0, 127, 255],
- [0, 255, 127],
- [255, 127, 255],
- [8, 101, 139],
- [171, 130, 255],
- [139, 112, 74],
- [205, 205, 180])
-
- ONLINE = "online"
- OFFLINE = "offline"
- PHOTO = "photo"
- RECORDING = "recording"
-
- ONLINE_START_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start"]
- },
- "pull_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 255
- },
- "push_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 255
- },
- "logo_url": {
- 'type': 'string',
- 'required': False,
- 'nullable': True,
- 'maxlength': 255
- },
- "models": {
- 'type': 'list',
- 'required': True,
- 'nullable': False,
- 'minlength': 1,
- 'maxlength': 3,
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "code": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "categories",
- 'regex': r'^[a-zA-Z0-9]{1,255}$'
- },
- "is_video": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "is_image": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "categories": {
- 'type': 'list',
- 'required': True,
- 'dependencies': "code",
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{0,255}$'},
- "config": {
- 'type': 'dict',
- 'required': False,
- 'dependencies': "id",
- }
- }
- }
- }
- }
- }
- }
- }
-
- ONLINE_STOP_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["stop"]
- }
- }
-
- OFFLINE_START_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start"]
- },
- "push_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 255
- },
- "pull_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 255
- },
- "logo_url": {
- 'type': 'string',
- 'required': False,
- 'nullable': True,
- 'maxlength': 255
- },
- "models": {
- 'type': 'list',
- 'required': True,
- 'maxlength': 3,
- 'minlength': 1,
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "code": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "categories",
- 'regex': r'^[a-zA-Z0-9]{1,255}$'
- },
- "is_video": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "is_image": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "categories": {
- 'type': 'list',
- 'required': True,
- 'dependencies': "code",
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{0,255}$'},
- "config": {
- 'type': 'dict',
- 'required': False,
- 'dependencies': "id",
- }
- }
- }
- }
- }
- }
- }
- }
-
- OFFLINE_STOP_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["stop"]
- }
- }
-
- IMAGE_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start"]
- },
- "logo_url": {
- 'type': 'string',
- 'required': False,
- 'nullable': True,
- 'maxlength': 255
- },
- "image_urls": {
- 'type': 'list',
- 'required': True,
- 'minlength': 1,
- 'schema': {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 5000
- }
- },
- "models": {
- 'type': 'list',
- 'required': True,
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "code": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "categories",
- 'regex': r'^[a-zA-Z0-9]{1,255}$'
- },
- "is_video": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "is_image": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "code",
- 'allowed': ["0", "1"]
- },
- "categories": {
- 'type': 'list',
- 'required': True,
- 'dependencies': "code",
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{0,255}$'},
- "config": {
- 'type': 'dict',
- 'required': False,
- 'dependencies': "id",
- }
- }
- }
- }
- }
- }
- }
- }
-
- RECORDING_START_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start"]
- },
- "pull_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'maxlength': 255
- },
- "push_url": {
- 'type': 'string',
- 'required': False,
- 'empty': True,
- 'maxlength': 255
- },
- "logo_url": {
- 'type': 'string',
- 'required': False,
- 'nullable': True,
- 'maxlength': 255
- }
- }
-
- RECORDING_STOP_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["stop"]
- }
- }
-
- PULL2PUSH_START_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start"]
- },
- "video_urls": {
- 'type': 'list',
- 'required': True,
- 'nullable': False,
- 'schema': {
- 'type': 'dict',
- 'required': True,
- 'schema': {
- "id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "pull_url",
- 'regex': r'^[a-zA-Z0-9]{1,255}$'
- },
- "pull_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "push_url",
- 'regex': r'^(https|http|rtsp|rtmp|artc|webrtc|ws)://\w.+$'
- },
- "push_url": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'dependencies': "id",
- 'regex': r'^(https|http|rtsp|rtmp|artc|webrtc|ws)://\w.+$'
- }
- }
- }
- }
- }
- PULL2PUSH_STOP_SCHEMA = {
- "request_id": {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,36}$'
- },
- "command": {
- 'type': 'string',
- 'required': True,
- 'allowed': ["start", "stop"]
- },
- "video_ids": {
- 'type': 'list',
- 'required': False,
- 'nullable': True,
- 'schema': {
- 'type': 'string',
- 'required': True,
- 'empty': False,
- 'regex': r'^[a-zA-Z0-9]{1,255}$'
- }
- }
- }
|