해결책을 많이 찾았지만 찾을 수 없습니다. 여러 장치에서 비디오 스트림을받는 서버 응용 프로그램 (.NET)이 있습니다. 스트림을 디코드하고 처리하기 위해 사용하는 라이브러리는 스레드로부터 안전하지 않습니다. 내 라이브러리의 이름은 VideoProcessor 클래스가있는 "VideoProcessor"입니다.이벤트 처리기 메서드에서 고유 한 객체 이름을 사용하는 클래스 인스턴스화
제 주 프로그램에서 각 장치에 대한 VideoProcessor의 인스턴스를 만들고 싶습니다. 내 첫 번째 접근 방식은 새 장치에 대한 VideoProcessor를 인스턴스화하는 연결 이벤트 처리기를 사용하는 것이 었습니다. 그러나 둘 이상의 장치가 연결을 시도 할 때 절대로 작동하지 않습니다. 아래의 코드를 참조하십시오 : 당신이 볼 수 있듯이, 나는 새로운 장치가 연결 장해마다 덮어 쓰게됩니다
static void HandleVideoConnectionEvent(int port, string deviceId)
{
VideoProcessor vid = new VideoProcessor(port, deviceId);
}
. 나는 아이디어가 부족하다. 각 장치에 대해 VideoProcessor를 별도로 실행해야하며 어떤 장치가 어떤 인스턴스에 사용되고 있는지 추적해야합니다. 나의 마지막 희망은 새 장치 연결을위한 새로운 프로세스를 생성하고 deviceID와 해당 PID 목록을 유지하는 것입니다 (.NET에서 이것이 가능할 지 모르겠습니다). 도와주세요. 이것을하기위한 깔끔한 방법이 있어야합니다. 많은 시간을 할애 해 주셔서 대단히 감사합니다.
감사합니다.
그래서 VideoProcessor 객체의 풀을 손에 넣으라고 요청합니까? 그런 다음 비디오 프로세서 유형 중 <> 목록을 가져 와서 모든 객체를 유지하십시오. 이 풀 목록을 추적 할 관리자가 필요합니다. – Zenwalker