Теоретически веб-камера USB HD, работающая со скоростью 15 кадров в секунду, потребляет полосу пропускания около 18 МБ / с - 1280 (ширина) x 960 (высота) x 3 (каналы RGB) x 15 (FPS) - без сжатия. Контроллер USB 2.0 имеет эффективную пропускную способность 35 МБ / с и способен обрабатывать 2 камеры (что я и подтвердил на практике). Контроллер USB 3.0 имеет теоретическую максимальную скорость передачи 625 МБ / с, которая способна обрабатывать 34 камеры (625/18 = 34,72), для удобства предположим, что он может обрабатывать максимум 8 камер (пока не подтверждено). Используя оба предположения, можно оценить, что материнская плата P8B75-V может обрабатывать не менее 50 одновременных веб-камер:
- 3 слота PCIe (один PCIe x4 и два PCIe x1, за исключением PCIe x16 для графической карты): преобразуйте их в USB 3.0 с помощью адаптера + USB 3.0 HUBS , в результате чего получится 24 веб-камеры
- 2 контроллера USB 3.0 (на передней и передней панели): концентраторы USB 3.0 для 16 веб-камер
- 3 слота PCI : конвертируйте каждый в USB 2.0 с помощью адаптера , в результате чего получается 6 веб-камер
- 2 контроллера USB 2.0 : 4 веб-камеры
Итак, мой вопрос:
Эта конфигурация действительно возможна? Кто-нибудь пытался перегружать систему таким количеством USB-камер?
Проблемы:
- Возможно, процессор перегружен. Использование несжатого захвата изображения может решить эту проблему.
- У SO может быть много проблем с обработкой такого количества устройств.
Comentaries:
- Шина ЦП для внешних устройств - Quick Path Interconnect (QPI) для Intel и Hyper-transport для AMD - не рассматривается как проблема, поскольку 50 МБ / с * 18 МБ / с = 900 МБ / с. Это очень далеко от скорости передачи данных по шине 25,6 ГБ / с для QPI и 51,2 ГБ / с для Hyper-Transport .
- Я реализую программное обеспечение этого приложения, используя OpenCV, который оборачивает захват вокруг DirectShow .
ИЗМЕНИТЬ 12/11/12:
Итак, я сделал несколько тестов, и есть некоторые моменты, которые нужно уточнить.
Потоковая передача HD-изображений со скоростью 30 FPS представляет полосу пропускания 106 МБ / с (53 МБ / с при 15 FPS), моя математика была совершенно неверной. Это означает, что веб-камеры HD, работающие с USB 2.0, должны сжимать файл, чтобы не использовать всю полосу пропускания. Таким образом, даже если бы мне удалось подключить 50 веб-камер на одном ПК, вероятно, у ЦПУ было бы много проблем с распаковкой этого объема данных в режиме реального времени.
Настоящая проблема возникает, когда мы видим спецификацию USB 3.0 :
Как видно на рисунке, USB 2.0 HUB полностью отделен от USB 3.0 HUB (SuperSpeed), что означает, что устройства USB 2.0 не могут использовать пропускную способность SuperSpeed . Это главный недостаток моего предположения, что я мог бы использовать больше устройств USB 2.0 с контроллером USB 3.0.
Поскольку эта спецификация устарела (около 2 лет), может ли кто-нибудь подтвердить, существует ли какая-либо новая реализация спецификации USB 3.0, которая разделяет полосу пропускания SuperSpeed между устройствами USB 2.0?