1

Я работаю над проектом, в котором Raspberry Pi используется в качестве платы ввода / вывода для нескольких сервоприводов, которые фактически контролируются другим компьютером, подключенным к RPi через Ethernet.

Мне нужно добавить 2 usb веб-камеры в проект, и я хотел бы подключить их к RPi, чтобы сохранить единственное место для ввода / вывода, если это имеет смысл.

Я ищу простой способ передачи данных с веб-камер на хост-машину с минимальной задержкой. Я пытался использовать Usbip и ffmpeg для потоковой передачи данных, но столкнулся с проблемами обоих методов. Есть ли другие предложения? или я должен продолжать следовать одному из методов, которые я попробовал.

Спасибо!

1 ответ1

1

Есть ли у ваших веб-камер аппаратное сжатие? Или вы делаете сжатие на RPi? Его процессор VideoCore подходит для такого типа работы, но .... вы должны использовать OpenMAX для разгрузки на VideoCore, поскольку сопроцессор ARM, на котором работает Linux, даже близко не способен сжимать даже поток с низким разрешением. Программы Загрузка VideoCore Кодеки omxplayer некоторых gstreamer плагинов.

Даже при использовании VideoCore у вас будут проблемы с пропускной способностью при получении необработанных видеоданных через внутреннее соединение через USB.

Поэтому ваши возможные варианты

  1. Скопируйте предварительно сжатое (внутри самой веб-камеры) видео с USB на Ethernet.
  2. Используйте модуль камеры RPi, который подключается к видеопорту с высокой пропускной способностью на Raspberry Pi непосредственно в VideoCore для обработки и сжатия.

Последний вариант, вероятно, будет иметь немного меньшую задержку, но вы получите только один поток. Теоретически возможно чередовать два потока через один видеопорт, но кодек на VideoCore должен быть спроектирован для приема и разделения двух потоков, а технические данные для этого доступны только в соответствии с NDA для крупнейших клиентов Broadcom.

Вы можете узнать больше информации о процессе разработки видеокодеков на форумах Rasberry Pi. Короткая версия: Broadcom выполняет большую часть работы, у фонда Raspberry Pi есть доступ к техническим данным, но недостаточно инженеров, и NDA запрещает им заключать контракты на разработку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .