Беспроводная передача видео в full HD

oleg70
msv:

больше мой ноут не потянул…

Хотелось оценить возможности raspberry по “упаковке” пакетов в стрим…
В принципе все сходится: 720х480 - 220 мсек, а при 1280х720 как раз ожидается ~ 0.4 секунды (у меня так и вышло, навскидку)

msv:

Ох, не там вы видите злодея…

Возможно, но по факту, элементарная задача по транспорту пакетов из “отправителя к получателю” сводится в основном к борьбе со всевозможными костылями и ограничениями самой операционной системы, так как она в принципе не обязана Вам быстро и вовремя что то делать, уж очень навороченная и умная… Без нее, на голом железе все летало бы со свистом.))))

schs
oleg70:

то лишний раз подтверждает мой тезис: что Wi-Fi вполне себе справится с любым потоком,

Там ни разу не Wi-Fi, хоть и тот же частотный диапазон.

oleg70
schs:

Там ни разу не Wi-Fi

А по моему это всеж 802.11ac

Glinco
msv:

Уж, звиняйте, больше мой ноут не потянул… Но даже в таком разрешении картинка несравнима с аналогом.

Я не спорю что цифра лучше. Но при таком разрешении разница откуда? Пал дает такое же.

Меня оч расстраевает лаг. Даже без тормозов камеры, которые значительны, линк тоже дает его.
А те, что без лага, стоят как мост.

polarfox
Glinco:

На ста милливаттах? На сказку смахивает.

С этой штукой

schs:

Ground control with the 14db directional antenna

Почему нет?Очень даже возможно.В этой конкретной коробочке на мой взгляд плохо то, что нет подключения кабелем к монитору,только к планшету по ви-фи и то, что она работает в диапазоне 5,8ГГц

Glinco

Так они в описании товара на сосиску обещают 1-2 км.

Борис_Х
oleg70:

Хотелось оценить возможности raspberry по “упаковке” пакетов в стрим…
В принципе все сходится: 720х480 - 220 мсек, а при 1280х720 как раз ожидается ~ 0.4 секунды (у меня так и вышло, навскидку)

При испытаниях на небольшой дистанции у меня получается практически одинаковая задержка вне зависимости от разрешения. Пробовал от 640х480 до 1920х1080 (на своём квадрокоптере оставил 1080х720, в качестве монитора использую Air 2). Лаг и качество картинки вполне летабельные

oleg70
Борис_Х:

Лаг и качество картинки вполне летабельные

Могу я задать вопрос по настройке Gstreamer ?

Борис_Х
oleg70:

Могу я задать вопрос по настройке Gstreamer ?

Да, конечно. Если интересует именно настройка Gstreamer, а не установка (на последних дистрибутивах Raspbian именно с ней возникает большинство проблем), то вот ссылка, которой я руководствовался bluerobotics.com/…/how-to-see-video-in-qgroundcont…

oleg70
Борис_Х:

настройка Gstreamer

Не понятно назначение и смысл параметра "caps= " (на приемной стороне), в сети много примеров, в некоторых из них сей параметр вообще рекомендуют копировать из сообщения потока на передающей стороне… и превращается он в длиннющую непонятную абракадабру, причем у кого то он в кавычках, у кого нет… и общий принцип его создания - не пойму…
Короче, если можно, внесите ясность… - что это…

Борис_Х
oleg70:

Не понятно назначение и смысл параметра "caps= " (на приемной стороне)

Олег, если честно, первый раз сталкиваюсь c оператором caps. Судя по всему, он содержит в себе спецификацию передаваемого потока. Я пошёл по пути наименьшего сопротивления. Вот команда, которую я использую на Raspberry с модулем камеры:

raspivid -n -fl -w 1280 -h 720 -b 10000000 -fps 30 -t 0 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=10 pt=96 ! udpsink host=<remote ip> port=5600

На принимающей стороне (на планшете) просто установлена последняя версия QGroundcontrol с вшитой поддержкой Gstreamer. Никакой код не требуется.

oleg70
Борис_Х:

первый раз сталкиваюсь c оператором caps

Я тут пол интернета перечитал на эту тему)))… в основном все примеры от авторов статей выглядят по разному, тут еще разные версии самого стриммера, разные платформы,…
Вещь похоже мощная и гибкая но разобраться в этой каше очень сложно…
По факту, у меня щас передача пакетов идет, а на приеме потока что то не клеится (mplayer отказывается понимать входящий формат)…

28 days later
macrokernel

oleg70, Борис Х,

Какой транспортный протокол вы используете для передачи видео - UDP? В системах видеоконференцсвязи используется протокол RTP. Может, стоит его попробовать? Вроде бы что-то есть под Linux для RTP. Навскидку гугл кое-что нашел.

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

Борис_Х
macrokernel:

oleg70, Борис Х,

Какой транспортный протокол вы используете для передачи видео - UDP? В системах видеоконференцсвязи используется протокол RTP. Может, стоит его попробовать? Вроде бы что-то есть под Linux для RTP. Навскидку гугл кое-что нашел.

Сергей, я так глубоко не копал… Для видео использую стандартный gstreamer, не углубляясь в его работу. Подозреваю, что он использует именно RTP протокол

Борис_Х
macrokernel:

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

Если для вас не принципиально наличие двусторонней связи, то wi-fi broadcast даст определённые преимущества. Как минимум, уменьшится лаг и увеличится дальность.

macrokernel:

Может быть gstreamer-у надо указать какие-нибудь RTP-параметры в явном виде?
…freedesktop.org/…/gst-plugins-good-plugins-plugin…

Какое железо вы планируете использовать? Вы уже запускали gstreamer на своей малине?

schs
macrokernel:

Какой транспортный протокол вы используете для передачи видео - UDP? В системах видеоконференцсвязи используется протокол RTP. Может, стоит его попробовать?

Это два разных уровня. RTP можно как по UDP так и по TCP пустить. RTP не лучший вариант в силу необходимости двустороннего обмена. Т.е. при обрыве связи будет процедура согласования, и так при каждом обрыве.

macrokernel
Борис_Х:

Какое железо вы планируете использовать? Вы уже запускали gstreamer на своей малине?

Я пока не приступил к реализации, только обдумываю варианты.

schs:

RTP не лучший вариант в силу необходимости двустороннего обмена.

Тогда да, RTP не нужен.

Борис_Х:

Если для вас не принципиально наличие двусторонней связи, то wi-fi broadcast даст определённые преимущества.

А, то есть wi-fi broadcast - это отдельный термин. Я думал имеется в виду обычный IP broadcast. Надо почитать.

Борис_Х
macrokernel:

Я пока не приступил к реализации, только обдумываю варианты.

А какой полётный контроллер стоит на дроне?

Борис_Х
macrokernel:

PixHawk Lite

Тогда есть смысл использовать gstreamer и обычный wi-fi. В последние версии qgroundcontrol вшит плагин gstreamer, видео с дрона будет отображаться непосредственно в окне qgroundcontrol на компьютере или планшете. Настраивается просто, работает стабильно 😃