Беспроводная передача видео в full HD
Могу я задать вопрос по настройке Gstreamer ?
Да, конечно. Если интересует именно настройка Gstreamer, а не установка (на последних дистрибутивах Raspbian именно с ней возникает большинство проблем), то вот ссылка, которой я руководствовался bluerobotics.com/…/how-to-see-video-in-qgroundcont…
настройка Gstreamer
Не понятно назначение и смысл параметра "caps= " (на приемной стороне), в сети много примеров, в некоторых из них сей параметр вообще рекомендуют копировать из сообщения потока на передающей стороне… и превращается он в длиннющую непонятную абракадабру, причем у кого то он в кавычках, у кого нет… и общий принцип его создания - не пойму…
Короче, если можно, внесите ясность… - что это…
Не понятно назначение и смысл параметра "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. Никакой код не требуется.
первый раз сталкиваюсь c оператором caps
Я тут пол интернета перечитал на эту тему)))… в основном все примеры от авторов статей выглядят по разному, тут еще разные версии самого стриммера, разные платформы,…
Вещь похоже мощная и гибкая но разобраться в этой каше очень сложно…
По факту, у меня щас передача пакетов идет, а на приеме потока что то не клеится (mplayer отказывается понимать входящий формат)…
oleg70, Борис Х,
Какой транспортный протокол вы используете для передачи видео - UDP? В системах видеоконференцсвязи используется протокол RTP. Может, стоит его попробовать? Вроде бы что-то есть под Linux для RTP. Навскидку гугл кое-что нашел.
Ещё кто-то тут говорил про броадкаст. Может быть стоит попробовать? Я так понимаю, что при широковещательной рассылке уменьшаются накладные расходы на канальном уровне - экономия на ARP-запросах?
Сергей, я так глубоко не копал… Для видео использую стандартный gstreamer, не углубляясь в его работу. Подозреваю, что он использует именно RTP протокол ☕
Может быть gstreamer-у надо указать какие-нибудь RTP-параметры в явном виде?
…freedesktop.org/…/gst-plugins-good-plugins-plugin…
stackoverflow.com/…/stream-h-264-video-over-rtp-us…
Ещё кто-то тут говорил про броадкаст. Может быть стоит попробовать? Я так понимаю, что при широковещательной рассылке уменьшаются накладные расходы на канальном уровне - экономия на ARP-запросах?
Если для вас не принципиально наличие двусторонней связи, то wi-fi broadcast даст определённые преимущества. Как минимум, уменьшится лаг и увеличится дальность.
Может быть gstreamer-у надо указать какие-нибудь RTP-параметры в явном виде?
…freedesktop.org/…/gst-plugins-good-plugins-plugin…
Какое железо вы планируете использовать? Вы уже запускали gstreamer на своей малине?
Какой транспортный протокол вы используете для передачи видео - UDP? В системах видеоконференцсвязи используется протокол RTP. Может, стоит его попробовать?
Это два разных уровня. RTP можно как по UDP так и по TCP пустить. RTP не лучший вариант в силу необходимости двустороннего обмена. Т.е. при обрыве связи будет процедура согласования, и так при каждом обрыве.
Какое железо вы планируете использовать? Вы уже запускали gstreamer на своей малине?
Я пока не приступил к реализации, только обдумываю варианты.
RTP не лучший вариант в силу необходимости двустороннего обмена.
Тогда да, RTP не нужен.
Если для вас не принципиально наличие двусторонней связи, то wi-fi broadcast даст определённые преимущества.
А, то есть wi-fi broadcast - это отдельный термин. Я думал имеется в виду обычный IP broadcast. Надо почитать.
Я пока не приступил к реализации, только обдумываю варианты.
А какой полётный контроллер стоит на дроне?
PixHawk Lite
Видел эту картинку, действительно удобно, но я больше склоняюсь к шлему.
Какая у Вас получается дальность?
RTP можно как по UDP так и по TCP пустить.
Практически RTP всегда над UDP. Ну а уж привязываться к стандарту RTP или изобретать свои заголовки, сугубо ваше решение…
Какая у Вас получается дальность?
Порядка 600м, дальше не пробовал. Думаю, по прямой около 700-800м вполне получится
А, то есть wi-fi broadcast - это отдельный термин.
Автор этой работы двигается в правильном направлении, а именно - “копает” сам линукс в сторону оптимизации задачи под цели FPV…
Но пока что (ИМХО) результат выглядит как “полумеры”, что в принципе не отрицает и сам автор…
Народ, а кто может объяснить нубу в 2 словах, в чем сложность портировать WifiBroadcast на нормальное железо на allwinner’е, например на Orange Pi ?
Аппаратный h264, MIPI / CSI и возможность накатить дебиан есть, например, на allwinner H3, который стоит 3-4$ за камешек.
raspivid -ih -t 0 -w 1280 -h 720 -fps 30 -b 4000000 -n -g 60 -pf high -o – | sudo ./tx -b 8 -r 4 -f 1024 wlan0
Я так понял, весь бродкаст это тупо программка tx, работающая через либу pcap, которая жрёт поток, который ей организует raspivid.
Получается, проблема только в raspivid, всё остальное встанет на любую линух-машину, в т.ч. на оранж.
Но для оранжа есть аналогичные распивиду тулзы, которые умеют в захват видео с камеры и формирование потока.
Может я чего-то не учитываю?
Народ, а кто может объяснить нубу в 2 словах, в чем сложность портировать WifiBroadcast на нормальное железо на allwinner’е, например на Orange Pi ?
Вы портировали софт на иное железо? Сложность в отсутствии заинтересованных программистов.
Может я чего-то не учитываю?
Многого. Orange Pi хоть и имеет возможность аппаратного декодирования, но драйвера под Debian(Raspbian) нет, есть работающий только под Андроидную прошивку. Собранного gstreamer c аппаратным кодированием\декодированием тоже нет.
Никто еще такую штуку не пробовал?
Нравятся частоты, хотя я не в курсе не будут ли они мешать аппе
При выходной мощности 500 мВт и в 500 МГц , частота является незаконной в большинстве стран мира!
Кроме того, в комплекте с антеннами для 5.8GHz … не 500MHz, так что придется делать свои антенны.