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

Artur1985

Только добрался до дома, нужно было посетить славный город Смоленск.

fpv_mutant:

.Покурите ссыль binifitiv как то так она называется,вроде на этой странице упоминалась,но там реч поро связь между малинами,думаю можно малина>пк (юбунту/дебиан). В этом проккте нестандартный подход по передаче в эфир пакетов,а по вашей задаче думаю все элементарно.
Тупо организовать мост между устройствами и если линух,то типо пакетов gstreamer прогонять поток,а на базе win еще проще.

Спасибо за совет, мне удалось запустить передачу между GStreamer на Win 7 64 bit и Raspberry по UDP, но задержку не тестировал.

Хочется именно браузер, вариант передачи между компьютерами рассматриваю как крайний. Кстати, к примеру на netcat-traditional передача между 2 linux системами обещают 100ms, сам не проверял.

РД00:

Посмотрите в сторону GStreamer’а. Нетривиальная настройка, но и самый гибкий инструмент.

Спасибо, скорее всего Вы правы, беглое знакомство GStreamer показало, что у него есть RTSP Server, как и поддержка RTMP, без сервера, но можно использовать crtmpserver, nginx. Как я понял еще много всего вкусного, есть поддержка OpenMax, не понятно есть ли OSD. Хотя его часто поминают за глюки и нестабильную работу, сам не замечал.

Но про нетривиальную настройку Вы правы, по крайней мере для меня, как Windows пользователя. Спасибо буду капать в эту сторону, хочу вначале заставить работать RaspberrIP-Camera. Товарищ обещает 200ms, правда нет подтверждения, что будет работать на Raspberry pi 2, локально запустил, работает отлично, сейчас пытаюсь запустить в браузере.

UDP. OSD у GStreamer есть, не знаю какая скорость, но пока не попробуешь не узнаешь.

Artur1985
fpv_mutant:

А зечем через браузер,если не секрет?

Конечно не секрет.😃

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

Поэтому выбор пал на браузер, все таки у всех свои предпочтения кто-то работает на Win, кто-то на linux, Mac OS, Android и т.д., разное железо если потребуется использовать аппаратные кодеки и т.д. Сделать такую поддержку для не коммерческого проекта, где пока лишь 2 человека, просто не под силу. А сделать 1 общую реализацию есть шанс, надеюсь силы, времени и знаний хватит.

fpv_mutant

Идея хорошая,в принципе меня таже мысль и посетила,перед вопросом.Жаль что не все умеют править драйвера wifi модулей для реализации режима передачи broadcast.

Artur1985
fpv_mutant:

Идея хорошая

Спасибо.

fpv_mutant:

Жаль что не все умеют править драйвера wifi модулей для реализации режима передачи broadcast.

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

Artur1985
Lazy:

Вот так с помощью OpenCV отрисовывается OSD на малинке.

P.S.
МапЭд не мой.

Большое спасибо.

Интересно сама библиотека, отлично описана есть множество материалов даже на русском. Да и робот, очень любопытный.

Lazy

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

РД00
Lazy:

Скажите коллега, вы ещё 64 битовую не пробовали?

Под Linux’ом именно 64 бит Gstreamer 1.0, и принципиальных отличий от Win32 Gstreamer 0.10 не увидел. Работает и то, и то.

Artur1985:

Но про нетривиальную настройку Вы правы, по крайней мере для меня, как Windows пользователя.

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

Artur1985:

OSD у GStreamer есть

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

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?