내 노트북에서 6개의 카메라를 동시에 실행하고 싶습니다(동영상을 한 번에 녹화).
제가 직면한 문제는 USB 포트가 충분하지 않다는 것입니다. 그래서 USB 허브를 구입했는데, 허브에 연결된 카메라 사이에 USB 대역폭을 나누어주기 때문에 제대로 작동하지 않았습니다.
그래서 이제 노트북에 USB 슬롯을 추가하는 다른 방법을 찾고 있습니다.
또는 어떻게든 데스크탑 PC를 노트북에 연결하여 데스크탑 PC의 USB 포트를 사용하여 노트북에서 프로그램을 실행할 수 있습니다.
아니면 최종 목표를 달성하기 위한 다른 방법도 있습니다.
답변1
비디오는 대역폭을 많이 사용하는 작업입니다. 저렴한 카메라의 USB 비디오는 호스트가 대부분의 인코딩 작업을 수행하도록 설계되었기 때문에 더욱 그렇습니다.
따라서 6대의 카메라가 동시에 작동하려면 6개의 스트림을 동시에 전송할 수 있도록 카메라에서 컴퓨터로 충분한 USB 대역폭을 제공해야 합니다. 대부분의 저렴한 캠이 USB에 있기 때문에 이는 어려울 수 있습니다. 2.0에 불과하지만 거의 포화 상태입니다.
그 외에도 랩톱의 CPU가 동시에 6개의 스트림을 처리할 수 있을 만큼 강력한지 확인해야 합니다. 저렴한 USB 캠은 CPU 사용량이 악명 높습니다.
USB 기반 카메라 대신 IP 기반 카메라를 사용해 보는 것이 좋습니다. 카메라 내부에서 압축 작업이 수행되며 단일 기가비트 포트를 통해 많은 양질의 스트림을 쉽게 얻을 수 있습니다. 12Mbit/s h.264 HD 스트림은 실제로 많은 카메라가 달성할 수 없는 품질을 전송할 수 있으며, 25달러 스위치를 사용하여 단일 기가비트 포트를 통해 이론적으로 최대 80개를 얻을 수 있습니다.
답변2
USB-3 허브를 사용하더라도 동일한 문제가 발생합니다(비디오용 CPU도 마찬가지입니다). 최고는 위의 답변을 따를 것입니다: IP 카메라(또는 기존의 저렴한 DVR 키트)
https://stackoverflow.com/a/10243723/4122311
문제는 얼마나 많은 것을 발견할 수 있느냐가 아닙니다. 단일 USB 버스에서는 ~127이 가능할 수 있습니다.
그러나 USB 버스는 초당 제한된 양의 바이트만 전송할 수 있습니다. 따라서 하나 이상을 사용하려면 비디오 스트림에 대해 가지고 있는 대역폭의 양을 계산해야 합니다.
예: USB 버스는 일반적으로 현실적으로 최대 35MB/s를 전달할 수 있습니다. 픽셀당 640*480*2바이트 => 프레임당 614400바이트. @30 FPS는 ~17MB/s이므로 이 설정으로 카메라 2대를 동시에 사용할 수 있습니다.