[Актуальный вопрос в последнем абзаце, я опубликовал свои предположения и мыслительный процесс на случай, если все прояснится]

Все началось с того, что я хотел посмотреть, что происходит, когда на одной шине USB 2.0 транслируется слишком много веб-камер. Поэтому я намеренно подключил три веб-камеры USB 2.0 через один концентратор USB 2.0, обеспечив максимальную пропускную способность 480 Мбит / с (согласно стандарту USB 2.0).

А потом я транслировал все 3 веб-камеры одновременно; к моему удивлению, не было ни лага, ни заикания, ни крика "превышена пропускная способность", исходящего от контроллера USB 2.0.

Я был удивлен, потому что я знал частоту кадров каждой камеры, разрешение и количество цветных бит на пиксель. По умножению:

кадров в секунду * высота * ширина * бит на пиксель

3 веб-камеры должны были насыщать шину USB 2.0, но не насыщали.

Я использовал инфраструктуру AForge для захвата отдельных кадров: каждый отдельный кадр был представлен в виде растрового изображения, размер и биты на пиксель которого соответствовали моим вычислениям, вычисления предсказывали запор USB 2.0.

Наконец, я наблюдал за использованием полосы пропускания USB 2.0, и хотя одна веб-камера учитывала мое ожидаемое потребление полосы пропускания, другие были в два или более раз ниже его.


Актуальный вопрос:

Итак, мой вывод (который я надеюсь подтвердить или исправить): веб-камеры передают по USB все, что хотят. Это может быть огромное растровое изображение, это может быть JPEG, это может быть собственный формат или даже поток MPEG4. Таким образом, веб-камера может выполнять или не выполнять сжатие кадров перед отправкой их по USB-соединению. На стороне хоста USB драйвер веб-камеры принимает все, что веб-камера отправляет через USB, и просто восстанавливает растровое изображение (именно поэтому я всегда получал растровые изображения, независимо от используемой пропускной способности). Как неправильно я понял это? Если я прав, есть ли где-нибудь удобная база данных о том, какие форматы данных отправляются через USB разными веб-камерами?

0