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

fpv_mutant
Artur1985:

Спасибо.

Тот кто ищет, то рано или поздно найдет.😃

В проекте бинифитина я нашел драйвера,но под никс и под пару адаптеров,хотелось бы win,android…

Artur1985
Lazy:

Робот как робот, но ИМХО задача очень похожая на вашу

Похож, но не совсем.

Там очень интересная идея, он делает просто фото затем наложение OSD, получает это фото и дальше отправляет команду. Интересно получится ли делать наложение OSD в реальном времени, надо будет глянуть.

РД00:

Мне здорово помогли вот эти статьи - habrahabr.ru/post/178813/ и эта шпаргалка - wiki.oz9aec.net/index.php/Gstreamer_cheat_sheet

Спасибо буду изучать, пока просто пользовался примерами без понимания процесса.

РД00:

В зачаточном виде. Наложить субтитр можно, но не более.

Спасибо, за экономию моего времени, буду смотреть в сторону других.

fpv_mutant:

В проекте бинифитина я нашел драйвера,но под никс и под пару адаптеров,хотелось бы win,android…

Честно говоря не сталкивался. Слышал о таких режимах, правда не знал о том, что они требуют спец. драйверов. Как я понимаю Вы хотите организовать видео вещание не точка-точка, а точка-все клиенты сети.

РД00
fpv_mutant:

В проекте бинифитина я нашел драйвера,но под никс и под пару адаптеров,хотелось бы win,android…

У него нет никаких спецдрайверов, он пропатчил имеющийся для AR9271. А именно : а) в драйвере Linux установил фиксированную мощность (максимальную, 20 дБм), б) в файле firmware установил фиксированную полосу (есть версии 10 и 20 МБит/с). Файл firmware одинаков для всех Linux’ов, т.к. загружается в RAM адаптера и исполняется в нем. У меня он работал на Raspberry и ноутбуке. Драйвер нужно перекомпилировать под платформу, хотя максимальную мощность можно выставить и изменением региона (на Боливию).

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

Про Win можно забыть сразу, там не поддерживается packet injection в принципе, а проект на нем основан.

Почему именно AR9271 - потому что он единственный показал сколько-нибудь приличную скорость в beacon mode, он пробовал еще 4, там все плохо и они непригодны.

Artur1985:

Как я понимаю Вы хотите организовать видео вещание не точка-точка, а точка-все клиенты сети.

Это проект, где WiFi адаптер используется в вещательном режиме - кидает пакеты в эфир и не разбирается, приняли их или нет, как аналоговый передатчик. Соответственно нет необходимости держать WiFi соединение. Это критично для самолетов и больших расстояний, но не для наземных роботов. См. …wordpress.com/wifibroadcast-analog-like-transmiss…

Trebis

Интересно, а кто нибудь пробовал использовать AHDH камеру типа такой со стандартным оборудованием 2.4 или 5.8 ггц и через подобный конвертер подключать к монитору? По идее работать должно, AHD по сути аналоговый сигнал с прогрессивной разверткой. Вопрос имеет ли это смысл, и стоит ли ожидать более высокого качества? Подробнее по AHD стандарту тут.

usup
Trebis:

AHD по сути аналоговый сигнал с прогрессивной разверткой.

сомневаюсь что там просто аналог,так как помимо видео и еще данные передает,да и в любом случае полоса видеосигнала 1080р в ahd формате 20мгц,а 5.8 передатчики максимум 8мгц.я пока в качестве бюджетного варианта,хочу эту камеру ru.aliexpress.com/…/1512187_32403284904.html с этой вафлей ru.aliexpress.com/…/1512187_32605642692.html
понятно нормальный хд линк не получится,но очень хочется реальную хд картинку лицезреть с борта,а то чот картинка с малинки ну никак даже до 720р не дотягивает((

а это вообще вместо камеры писалки можно использовать ru.aliexpress.com/…/1512187_32545839032.html

РД00

В принципе, если это действительно всего лишь более высокочастотный PAL с прогрессивной разверткой, и цветовые поднесущие там поместятся в полосу 6-8 МГц аналогового видеопередатчика, то попробовать передать можно. Получится картинка, размазанная по горизонтали, но по вертикали там будут честные 720 строк.

Правда, учитывая, что в родном PALе их 576, результат дискутируем. Мне больше понравился упоминаемый там стандарт 960H. То есть тот же аналоговый PAL, расширенный до 16:9 c увеличением горизонтального разрешения с 720 до 960 и полосы с 6 до 8 МГц. Это, видимо, предел того, что можно получить на аналоговом сигнале и аналоговом же бюджете.

Trebis

Странно что ни кто не пробовал, в этой ветке стандарт AHD обсуждался еще 2014г. И были желающие потестить, на аналоговом оборудовании, только результатов так ни кто и не выложил. В некоторых источниках пишут, что на 5.8ггц AHD передавать можно, но на заборе тоже много чего пишут, а там доски.
960H я так понимаю это обычные 700твл, камеры на sony effio что-то вроде этого ru.aliexpress.com/item/…/32612591766.html
На аналоге можно HDMI компонентно отправлять через 3 передатчика и собирать на земле тремя же приемниками. Минус вес ну и цена за 3 комплекта. Хотя тем кто летает на тяжелых гекса или окта лишние 80гр. не большая проблема. Но опять же вопрос дальности сего бутерброда.

usup
Trebis:

В некоторых источниках пишут, что на 5.8ггц AHD передавать

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

Trebis:

На аналоге можно HDMI компонентно

не хдми а компонентный,этот вариант я пробовал,но картинка совсем до хд не дотягивало,скорее всего узкая полоса пропускания передатчика 5,8 срезало все качество.

schs
usup:

я пока в качестве бюджетного варианта,хочу эту камеру

У меня подобная стоит в машине(1:1), хватает со штатной антенной на ~30м.

fpv_mutant:

В проекте бинифитина я нашел драйвера,но под никс и под пару адаптеров,хотелось бы win,android…

Для Android он тоже собирал, даже отдельная тема на сайте есть.

РД00:

максимальную мощность можно выставить и изменением региона (на Боливию).

Уже не проходит, ввели ограничение на 2.4. kernel.org/…/wireless-regdb-2016.02.08.tar.gz
country BO: DFS-JP
(2402 - 2482 @ 40), (20)
(5250 - 5330 @ 80), (30), DFS
(5735 - 5835 @ 80), (30)

Можно ставить BZ, там 30.
country BZ: DFS-JP
(2402 - 2482 @ 40), (30)
(5735 - 5835 @ 80), (30)

usup
schs:

У меня подобная стоит в машине(1:1), хватает со штатной антенной на ~30м.

ничего не перепутали?у этой камеры нет ни встроенного вайфай ни уж тем более антенны))наверно вы второй вариант имели ввиду

Trebis
usup:

и где такое пишут?

Ну например тут altcam.ru/ofis.php хотя я очень сомневаюсь в трезвости писавших.

usup:

давай вы будете первоиспытателем))

Да я бы с радостью, но кризис и все такое, в общем нет желания выкидывать денег=) Да и у каждого свое понимание качества картинки, меня бы вполне устроили честные 720Р с борта=)

fpv_mutant
РД00:

У него нет никаких спецдрайверов, он пропатчил имеющийся для AR9271. А именно : а) в драйвере Linux установил фиксированную мощность (максимальную, 20 дБм), б) в файле firmware установил фиксированную полосу (есть версии 10 и 20 МБит/с). Файл firmware одинаков для всех Linux’ов, т.к. загружается в RAM адаптера и исполняется в нем. У меня он работал на Raspberry и ноутбуке. Драйвер нужно перекомпилировать под платформу, хотя максимальную мощность можно выставить и изменением региона (на Боливию).

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

Про Win можно забыть сразу, там не поддерживается packet injection в принципе, а проект на нем основан.

Почему именно AR9271 - потому что он единственный показал сколько-нибудь приличную скорость в beacon mode, он пробовал еще 4, там все плохо и они непригодны.

Это проект, где WiFi адаптер используется в вещательном режиме - кидает пакеты в эфир и не разбирается, приняли их или нет, как аналоговый передатчик. Соответственно нет необходимости держать WiFi соединение. Это критично для самолетов и больших расстояний, но не для наземных роботов. См. …wordpress.com/wifibroadcast-analog-like-transmiss…

1)Что такое pocket injection?яндекс смотрел,но не уверен что правильно понял
2)Правильно ли я понимаю,если установить скорость 2Мбит/с то,чипсет (аппаратно) выберет модуляцию,обеспечивающую наибольшую дальность.
4)Какие есть мысли или как активировать дву сторонний обмен без подтверждения (установки соединения) между WiFi?-это возможно,я понимаю что скорость упадет,возможно возрастет задержка…
5)Я правильно понял,если архитектура для линукса разная,то драйвер можно перекрмпелировать?
6)А как же модульность ядра,ведь драйвер как то можно добавить без пересборки ядра?
7)помимо макс.мощности,фиксации скорости,выбора модуляции,там же пдапторы переводится в режим передача/прием без подтверждения…
8)и всеже интересно где можно почитать про такую модификацию дров или еще чего,чтоб и с другими алаптерпми можно было так шаманить…
9)Почему в этом проекте юзается его программа приемо/передачи .tx/.rx,а не предположим netcat или встроенные средства передачи gstreamer udpsink?

РД00
fpv mutant

.

  1. Packet injection - возможность вручную в программе собрать WiFi пакет и отдать драйверу адаптера для передачи как есть. В Linux это возможно, в Windows нет.

  2. Там одному аллаху ведомо, что и как он выберет. Befinitiv для этого и патчил драйвер, чтобы зафиксировать скорость и полосу.Режим Monitor mode для передачи данных обычно не используется, в стандарте он предназначен, что бы точка доступа обозначала себя и появлялась в списке сетей.

  3. Программировать. Код rx и tx у него довольно прозрачный, там не проблема ввести ожидание пакета с приемника после передачи своего, и наоборот.

  4. Да. перекомпилировать можно. Вот только я не пробовал. Если для компиляции пользовательских программ в системе обычно уже все есть, то для драйверов нужен, кажется, какой-то SDK.

  5. Неверно выразился. Скомпилировать ядро с набором модулей. В любом случае собрать среду кросс-компиляции и выполнить make config придется. А это наука едва ли не больше, чем все, что мы тут обсуждаем. Я в эту радость точно не полезу.

  6. Нет. Monitor mode - штатный режим. WiFi работает в нем, когда выполняется поиск сетей : точка доступа излучает пакеты в никуда, а клиентские адаптеры слушают, кто излучает. Посмотрите в скрипты, там есть iw dev <name> set monitor.

  7. Ну, befinitiv сам не нашел. А это мужик явно весьма компетентный и прочел много.

  8. Потому что UDP предполагает, что какая-то IP сеть у нас есть, то есть WiFi сессия установлена и IP адреса назначены. А смысл был в том, чтобы обойтись без сессии вообще.

fpv_mutant

1.Почему на базе win это не возможно?
2.В режиме Transmitter (передающая сторона) тоже активируется режим монитора “sudo iw dev wlan0 set monitor otherbss fcsfail”,почему так?
3.Ваше мнение,какой принцип применен в этом проекте ,т.к. там используется WiFi на приличное расстояние и заявляется работа под Win?-к вопросу (1)

schs
usup:

ничего не перепутали?у этой камеры нет ни встроенного вайфай ни уж тем более антенны))наверно вы второй вариант имели ввиду

Продавца, у которого покупаю обычно IP камеры для видеонаблюдения, попросил собрать нужную мне конфигурацию. Получилась FHD камера с Wi-Fi, в компактном корпусе.
Ко многим модулям можно подключить USB WiFi модуль, типа того, что Вы указывали.

РД00
fpv_mutant:

1.Почему на базе win это не возможно?

Потому что ключница водку делала. В Win32 весь сетевой стек TCP/IP был в свое время позаимствован из Unix. Не смогли спереть так, чтобы не попортить по дороге. Аналога интерфейса библиотеки pcap под Win32 нет.

fpv_mutant:

2.В режиме Transmitter (передающая сторона) тоже активируется режим монитора “sudo iw dev wlan0 set monitor otherbss fcsfail”,почему так?

А почему бы нет ? Это и есть beacon mode, одна сторона излучает, вторая слушает.

fpv_mutant:

Ваше мнение,какой принцип применен в этом проекте ,т.к. там используется WiFi на приличное расстояние и заявляется работа под Win?

Это Virt2Real. Они, кажется, используют проприетарные режимы Ubiquity’вской матчасти. Давайте этот вопрос переадресуем коллеге realizator’у, как одному из авторов проекта.

fpv_mutant

(2) так и не понял почему)
если это способ произвольной работы с беспроводным адаптером по части не тока приема (прослушки эфира),но и передачи,то слово “monitor” подобрано не удачно

…In monitor mode your wireless interface only receives packets–it cannot transmit

Знатоки линукса,кото может пояснить,почему для передающего звена активируется monitor mode?

РД00

У Вас, как и у меня, есть исходный текст rx и tx, и header библиотеки pcap. Никто не мешает заглянуть в него и самостоятельно ответить на вопросы типа “я так и не понял”.

Отсылки к незнанию Линукса тоже не впечатляют, я сам познакомился с этой радостью в декабре прошлого года по необходимости, вызванной этим проектом. Это точно не тот горшок, который обжигают только боги.

fpv_mutant

…так режим monitor mode принадлежит iw…
в ./tx.c сижу с начала дня)

fpv_mutant

Дмитрий,что может значить сообщение:
Warning:Lost connection to fifo 0.Please make sure that a data source is connected

Мои предположения,софтине ./tx не нравится что я в качестве источника подаю тестовую картинку с:
gst-launch-1.0 videotestsrc pattern=smpte | sudo ./tx -b 8 -r 4 -f 1024 wlan0
Чтож,получается что она работает с сигналом (потоком) только камеры (raspivid)?

зы:камеру пока не покупал по причине - не понятно на сколько пробивает,сначала интересует тест дальности

Мужики,проверьте кто.

Gsreamer по-умолчанию выводит поток в STDOUT…
В коде ./tx нашел “Reads data over stdin and sends it out over wlan0” - и чего оно не воркает?

fpv_mutant

Вот так толкает:
gst-launch-1.0 videotestsrc pattern=smpte ! fdsink | sudo ./tx -b 8 -r 4 -f 1024 wlan0