выбор начинают с железа. прикручивая обычную первую попавшуюся вебку, расчитывать, немного странно надеяться, что вот именно она вас не разочарует. или когда тот же процессор слабый или пропускная памяти оставляет желать лучшего. и на таком железе пытаются запустить слишком ресурсоёмкие программы. а потом примерно так получается
2Dmitry__: Слезно прошу вас, не обкакивайтесь. Я говорил не только про UART, а про то, что прямой доступ к схемотехнически простому аппаратному интерфейсу всегда быстрее и надежнее работает чем сложный доступ через множество преобразований и особенно через черный ящик - ОС. Для видеокамер есть довольно быстрые параллельные и последовательные интерфейсы. Я когда писал про видеокамеры вовсе UART не подразумевал. Покажите мне хоть один пример когда можно было бы прикладной программе напрямую писать без всяких драйверов в USB порты, регистры его и получать оттуда информацию.
ну это и так понятно, только вы из пальца высасываете. если для вашей задачи имеет большое значение чуть ли не наносекнды, другим для их задач и с десяток-другой миллисекунд не будет проблемой.
Никакой задержки при передачи видео по юсб нет. Тем более говоря о каких-то аппаратных простых интерфейсах. Задержки видео происходят от его сжатия, для воспроизведения mpeg потока, декодер должен иметь последние 10 кадров, т.к. информация текущего кадра имеется в 10-м кадре, а это 20мс. *10 кадров = 200мс. Для mjpg эта задержка уменьшается до 1-го кадра, т.к. сжимаются только отдельные кадры, а мы, например, сделали декодер, который начинает декодировать видео после приема 8 строк видеоизображения, уменьшив задержку до 5мс.
Вы посчитайте сколько метров пролетит квадрокоптер за время задержки кадра с USB камеры и тогда мои высказывания вряд ли покажутся вам высасыванием из пальца. Да даже робот, который крутит камерой и манипулятором. То, что можно приспособиться и действовать как наши управляли луноходом я не сомневаюсь, но это не самый лучший вариант.
Последний раз редактировалось Виктор Казаринов 15 май 2015, 16:40, всего редактировалось 2 раз(а).
операторы дрона на луне получают картичнку через пару секунд и это хоть и неприятно, но и не критично. а вот дистанционно управлять каждым мелким двжением ракеты, летящей на скоростях в 5км/сек как-то глупо и пытаться.
Последний раз редактировалось Angel71 15 май 2015, 16:43, всего редактировалось 1 раз.
Dmitry__ писал(а):Вы уверены, что разбираетесь в обсуждаемом вопросе?
Странные у вас какие-то расчеты. Загляните на ютуб. Там полно демонстраций того, как задерживается изображение с камеры и насколько. Практические результаты. Ваше утверждение о том что в USB вообще нет задержек, очень смелое. Я и не утверждаю, что вообще в чем-то разбираюсь Вам виднее.
Виктор Казаринов писал(а):Странные у вас какие-то расчеты. Загляните на ютуб.
Мне заглядывать не нужно, у меня сейчас на столе лежит раз, два, три, а вон еще четвертая и пятая камера. А вот вам кое чего узнать о межкадровом сжатии надо. http://www.aktivsb.ru/article-info1244.html
Проблема компрессии с межкадровым сжатием Компрессия видеоданных бывает покадровой, например MJPEG, а также с межкадровым сжатием, например MPEG-2, MPEG-4 и H.264. При методе MJPEG сжатию подвергается каждый отдельный кадр изображения независимо от других. Компрессия с межкадровым сжатием предполагает разбиение кадров на группы. В группе первый кадр является опорным и кодируется независимо от других. Для остальных, называемых промежуточными, кадров кодируются только изменения относительно опорного и предшествующего.
Думаю надо различать протокол и реализацию. USB вполне можно заточить под реал-тайм, а вот как оно реализовано, особенно в дешёвых девайсах... UART в этом смысле тупо попроще. Вроде даже видео через него когда-то гоняли. Видел я веб-камеру ком-портовую.