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

Борис_Х
macrokernel:

Какая у Вас получается дальность?

Порядка 600м, дальше не пробовал. Думаю, по прямой около 700-800м вполне получится

oleg70
macrokernel:

А, то есть wi-fi broadcast - это отдельный термин.

Автор этой работы двигается в правильном направлении, а именно - “копает” сам линукс в сторону оптимизации задачи под цели FPV…
Но пока что (ИМХО) результат выглядит как “полумеры”, что в принципе не отрицает и сам автор…

9 days later
OTR1UM

Народ, а кто может объяснить нубу в 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, всё остальное встанет на любую линух-машину, в т.ч. на оранж.
Но для оранжа есть аналогичные распивиду тулзы, которые умеют в захват видео с камеры и формирование потока.
Может я чего-то не учитываю?

schs
OTR1UM:

Народ, а кто может объяснить нубу в 2 словах, в чем сложность портировать WifiBroadcast на нормальное железо на allwinner’е, например на Orange Pi ?

Вы портировали софт на иное железо? Сложность в отсутствии заинтересованных программистов.

OTR1UM:

Может я чего-то не учитываю?

Многого. Orange Pi хоть и имеет возможность аппаратного декодирования, но драйвера под Debian(Raspbian) нет, есть работающий только под Андроидную прошивку. Собранного gstreamer c аппаратным кодированием\декодированием тоже нет.

Bah

При выходной мощности 500 мВт и в 500 МГц , частота является незаконной в большинстве стран мира!
Кроме того, в комплекте с антеннами для 5.8GHz … не 500MHz, так что придется делать свои антенны.

slv55
Bah:

При выходной мощности 500 мВт и в 500 МГц

Это чьи частоты? DVB-T ?
Интересно на какую дальность он может пробивать.

Bah

вот тут полет есть.
На носителе две камеры. HD и обычная.
HD зависла при дальности 500м и высоте 210м
Задержка около 0,5 сек.

slv55
Bah:

HD зависла при дальности 500м

если там 2,4/5,8 антенны - то удивительно как оно вообще работало, а на полуволновую антенну (7,5 см) это как то не тянет

Bah:

Задержка около 0,5 сек.

по разным тестам вроде от 0,13с и больше, почему иногда сильно тормозит не понял, впрочем китайские гоупроподобные камеры сами по себе вообще очень не быстрые.

igorek76yaroslavl
schs:

Вы портировали софт на иное железо? Сложность в отсутствии заинтересованных программистов.

Многого. Orange Pi хоть и имеет возможность аппаратного декодирования, но драйвера под Debian(Raspbian) нет, есть работающий только под Андроидную прошивку. Собранного gstreamer c аппаратным кодированием\декодированием тоже нет.

Эх, жаль… Я уж думал брать с китая, начинать разбираться… а мощи малины 3b хватит за глаза, чтоб зажать 720р без сильных потерь во времени? А эта приблуда кстати на оранж не встанет? Там, помнится разные интерфейсы камер…
auvidea.com/b102-hdmi-to-csi-2-bridge-22-pin-fpc/

StiMan

Привет. Я новенький.
Использует кто-то ez-wifibroadcast для RC?
Использую RPi3b на обеих сторонах.
Видео работает.
Хочу примерить PlayStation2 gamepade для RC как на видео:

На стороне TX подключил serial0 через USB-TTL converter к ноутбуку.
putty на COM3 115200 смотрю RC данные, но их нет.
Джойстик определился и реагирует на тест (jstest /dev/input/js0).
На стороне TX side TP-Link TL-WN722N (Atheros AR9271). Исправил файл (/etc/modprobe.d/ath9k_htc.conf to fw_bitrate=12).На стороне RX side D-Link DWA-140 rev B3: (rt: 5392). Не исправлял этот фйл(/etc/modprobe.d/ath9k_htc.conf to fw_bitrate=18).
Как составить файл joyconfig.txt?
Или установлены неправильные дрова?
Или нужны одинаковые WiFi модули на обе стороны TX/RX (Atheros, например)?

igorek76yaroslavl
StiMan:

Привет. Я новенький.
Использует кто-то ez-wifibroadcast для RC?
Использую RPi3b на обеих сторонах.
Видео работает.

Привет! Расскажи поподробнее пожалуйста, как видео сделал? Камера малиновая? чем, как жмешь, и т.д.

StiMan
igorek76yaroslavl:

Привет! Расскажи поподробнее пожалуйста, как видео сделал? Камера малиновая? чем, как жмешь, и т.д.

Камера малиновая.
wifibroadcast спустя пару недель у меня запустить не удалось.
Скачал ez-wifibroadcast v1.4. Ничего не делал. Все работает из коробки.
В следующей версии обещали легкую настройку RC с геймпада, но ждать неинтересно, думал, может кто поможет разобраться.

igorek76yaroslavl

Прошу совета у опытных товарищей. Думал взять модуль B101 у ребят (auvidea.com/b101-hdmi-to-csi-2-bridge-15-pin-fpc/), но цена весьма кусается, и там заявлено 1080р до 30фпс. Моя Xiaomi Yi выдает 1080р60 через hdmi. Как вариант, использовать B102, но там 4 линии и по описанию не допиленный драйвер для малины. Рассматриваю вариант использовать не преобразователь интерфейса вместе с малиной, а готовый энкодер, например у тех же ребят: auvidea.com/product/70140/. Цена еще более дикая, но китайцы (Lenkeng), уже успешно реализовали подобное за недорого (www.ebay.com/itm/…/191956592321). Почитал про обе версии: про старую, которая жмет в mjpeg c меньшей задержкой и про новую, которая уже h.264, но уже с задержкой минимум 500мс. Так вот, что бы можно с ними придумать? Почитал блог товарища blog.danman.eu/new-version-of-lenkeng-hdmi-over-ip…, интересно, но как можно использовать в наших целях? Может как то разогнать железо, или изменить качество сжатия, чтобы уменьшить задержку? Или просто взять старую версию под mjpeg, присобачить малину, которая будет принимать слабо сжатый mjpeg по лану и жать уже нормально в h.264 (ведь железо у нее намного лучше), такой вариант как вам кажется, имеет право на жизнь?

macrokernel
igorek76yaroslavl:

Или просто взять старую версию под mjpeg, присобачить малину, которая будет принимать слабо сжатый mjpeg по лану и жать уже нормально в h.264 (ведь железо у нее намного лучше), такой вариант как вам кажется, имеет право на жизнь?

Это перекодирование добавит свою задержку. Чем не устраивает старая версия с mjpeg и меньшей задержкой?

igorek76yaroslavl
macrokernel:

Это перекодирование добавит свою задержку. Чем не устраивает старая версия с mjpeg и меньшей задержкой?

Дак разве пролезет нормально mjpg в линк через вайфай, ширина которого может сужаться довольно часто? Разве задержку малина добавит серьезную? ведь как-никак 4 ядра и аппаратная поддержка h.264

macrokernel

Да, действительно, mjpeg жмет в разы хуже, чем h.264 - не подумал. Тогда в чем смысл этого энкодера, зачем таскать лишний вес, если всё равно жать малиной?

igorek76yaroslavl
macrokernel:

Да, действительно, mjpeg жмет в разы хуже, чем h.264 - не подумал. Тогда в чем смысл этого энкодера, зачем таскать лишний вес, если всё равно жать малиной?

дак проблема в интерфейсе. как завести hdmi на малину? А тут и переходник и сжиматор простейший

macrokernel

Так этот простейший сжиматор отъедает 100мс, плюс ещё малина будет перекодировать в h.264 - тоже сколько-то отъест, ведь для сжатия нужна буферизация.

igorek76yaroslavl
macrokernel:

Так этот простейший сжиматор отъедает 100мс, плюс ещё малина будет перекодировать в h.264 - тоже сколько-то отъест, ведь для сжатия нужна буферизация.

да, но если малина где-то 50мс задержит, это будет приемлимо для меня. Без задержки тут никак, само собой 😃

вот интересно, по какому интерфейсу идут данные от hdmi оцифровщика до процессора, который сжимает поток? Стоит там IT6604E. По даташиту выходные пины LVTTL
Video output interface supporting digital video standards such as:
-24/30-bit RGB/YCbCr 4:4:4
-16/20-bit YCbCr 4:2:2
-8/10-bit YCbCr 4:2:2 (ITU BT-656)
-24/30-bit double data rate interface (full bus width, pixel clock rate halved, clocked with both rising and falling edges)
-Input channel swap
Можно ли по каком то из этих интерфейсов присобачить его к малине?

igorek76yaroslavl

Что забавно, чип TC358743XBG есть в продаже и стоит не дорого www.eltech.spb.ru/item/tc358743xbgel
вопрос только спроектировать печатную плату под него, чип то на шарах, плату многослойку надо((