Я использую три веб- камеры Logitech C920 с mjpg-streamer. Настройка работает очень хорошо, но я только что понял, что она не масштабируется. Я начал сталкиваться с проблемами пропускной способности, когда увеличивал частоту кадров с моего обычного фаворита с 5 FPS до 10 FPS и выше (что должно быть более или менее эквивалентно добавлению еще одной веб-камеры). По сути, я не осознавал, что теоретический предел 480 Мбит / с был на контроллер USB 2.0; Я думал, что это было за порт. Это заставило меня задуматься о том, что реклама теоретической скорости USB 2.0 при скорости 480 Мбит / с вводит в заблуждение, но, учитывая, что я не читал спецификации USB, я согласен с тем фактом, что это было наивное предположение с моей стороны.
Я знаю, что на плате Intel DN2800MT, на которой я это установил, есть только один контроллер USB 2.0:
gw1 ~ # lsusb -t | grep ehci
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M
Но я также знаю, что мои веб-камеры Logitech C920 поддерживают аппаратное ускорение декодирования h264:
gw1 ~ # v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Index : 1
Type : Video Capture
Pixel Format: 'H264' (compressed)
Name : H.264
Index : 2
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : MJPEG
Итак, я должен быть в состоянии создать обходной путь, переключив веб-камеры в режим h264, поскольку я считаю, что это будет использовать меньшую пропускную способность (и затем, конечно, использовать другую программу для получения изображений, но оставлю это мне на потом.)
Учитывая все это, есть ли способ узнать, какая часть общей доступной полосы пропускания контроллера USB в настоящее время используется? Это просто помогло бы мне привести некоторые цифры в мой опыт с этой настройкой. Мое чувство кишки, вероятно, но это не так просто. Если кто-то может пролить свет на это, я бы хотел знать.