Многопоточный захват видео python
Стоит задача: захватывать несколько потоков с камер.
Хочу реализовать класс, где будут методы, по захвату потока, показ окна камеры, начало записи в файл, остановка демонстрации, записи
использую opencv, treading
Создаю класс
class VideoRecorderThread(threading.Thread):
def __init__(self, camName, src):
super().__init__()
Создаю экземпляры класса, после этого вызываю start()
для каждого экземпляра, которые вызывают метод
def run(self):
while self.open:
if self.video_cap.isOpened():
self.ret, self.frame = self.video_cap.read()
Вопрос, выходит, что в потоке находится только этот метод, как тогда для этого экземпляра класса сделать, чтобы и другие методы тоже работали в потоках, чтобы обращаться методам других экземпляров и к основному потоку? Каждый метод в поток? - звучит странно. Использовать не treading
?
Источник: Stack Overflow на русском