MCPcopy Create free account
hub / github.com/ARM-software/AVH / VideoServer

Class VideoServer

interface/video/python/vsi_video_server.py:60–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58MODE_Output = 1<<0
59
60class VideoServer:
61 def __init__(self, address, authkey):
62 # Server commands
63 self.SET_FILENAME = 1
64 self.STREAM_CONFIGURE = 2
65 self.STREAM_ENABLE = 3
66 self.STREAM_DISABLE = 4
67 self.FRAME_READ = 5
68 self.FRAME_WRITE = 6
69 self.CLOSE_SERVER = 7
70 # Color space
71 self.GRAYSCALE8 = 1
72 self.RGB888 = 2
73 self.BGR565 = 3
74 self.YUV420 = 4
75 self.NV12 = 5
76 self.NV21 = 6
77 # Variables
78 self.listener = Listener(address, authkey=authkey.encode('utf-8'))
79 self.filename = ""
80 self.mode = None
81 self.active = False
82 self.video = True
83 self.stream = None
84 self.frame_ratio = 0
85 self.frame_drop = 0
86 self.frame_index = 0
87 self.eos = False
88 # Stream configuration
89 self.resolution = (None, None)
90 self.color_format = None
91 self.frame_rate = None
92
93 # Set filename
94 def _setFilename(self, base_dir, filename, mode):
95 filename_valid = False
96
97 if self.active:
98 return filename_valid
99
100 self.filename = ""
101 self.frame_index = 0
102
103 file_extension = str(filename).split('.')[-1].lower()
104
105 if file_extension in video_file_extensions:
106 self.video = True
107 else:
108 self.video = False
109
110 file_path = os.path.join(base_dir, filename)
111 logger.debug(f"File path: {file_path}")
112
113 if (mode & MODE_IO_Msk) == MODE_Input:
114 self.mode = MODE_Input
115 if os.path.isfile(file_path):
116 if file_extension in (video_file_extensions + image_file_extensions):
117 self.filename = file_path

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected