Я много раз искал решение, но не смог найти. У меня есть серверное приложение (в .NET), которое получает видеопотоки от нескольких устройств. Библиотека, которую я использую для декодирования и обработки потока, не является поточно-ориентированной. Моя библиотека называется VideoProcessor с классом VideoProcessor.
В моей основной программе я хотел бы создать экземпляр VideoProcessor для каждого устройства. Мой первый подход состоял в том, чтобы иметь обработчик событий соединения, который создает экземпляр VideoProcessor для нового устройства. Тем не менее, он никогда не будет работать, когда более одного устройства пытается подключиться. Пожалуйста, обратитесь к фрагменту кода ниже:
static void HandleVideoConnectionEvent(int port, string deviceId)
{
VideoProcessor vid = new VideoProcessor(port, deviceId);
}
Как видите, я буду перезаписывать vid при каждом подключении нового устройства. У меня кончились идеи. Мне нужно иметь отдельный экземпляр VideoProcessor, работающий для каждого устройства, и я должен отслеживать, какой экземпляр используется для какого устройства. Моя последняя надежда - создать новый процесс для соединения с новым устройством и вести список идентификаторов устройств и соответствующих им PID (я не знаю, возможно ли это в .NET). Пожалуйста помоги. Там должен быть аккуратный способ сделать это. Заранее большое спасибо за ваше время.
С уважением.