EZ-WifiBroadcast DIY HD видео своими руками

tuskan

Читаю иногда.
Два вопроса:

На клиентской стороне ставится пи3 это понятно.
а на серверной?
пи зеро хватит? Или не экономить?
и для понимания нужна статистика - сколько весит серверная сторона в сборе?

Htcohio

I think I understand what you’re saying yoi cannot help develop the project.

Does this mean you would not be able to answer a couple questions? If you would be able to, user1321 has helped me what’s some personal projects and he lives in the Ukraine. I’ve attached his question from today about the patch kernel.

If your permitted to help with that there would be less of a language barrier if you were to explain it to him directly. If not, I completely understand.

Either way, any help or Insight would be greatly appreciated.

“”'? FROM USER 1321""
Personally I interested in what kind of patches did he apply to kernel.
Maybe something more?

Add:
And maybe question why he decide to use exactly 4.9.80-v7. Was it random or some reason.

user1321

@lelik

Отдельно мои патчи: my.korchagins.ru/WifiBroadcas...C6+8812au.diff

Хотел спросить, есть ли возможность получить доступ к этому фалу? Сейчас он не доступен.
Конкретнее, интересует какие патчи были применены к ядру 4.9.80-v7, я так понимаю это пересобранное ядро, а не оригинальное?
И почему было выбрано именно это ядро, если ли причина?
Так же пользователи GitHub интересуться:

  • what is the latest branch of aircrack-ng he used (5.2.20 or 5.3.4)
  • what are the modifications he did (I think he only did modify .profile and tx_telemetry.c)

Буду благодарен за ответы.
П.С. Это не коммерческий интерес. Хобби FPV.

lelik
khomyakk:

Я пользуюсь Хромом, перевод твоего сообщения на фото.

И эти люди запрещают мне ковырять в носу!

khomyakk:

Обидно конечно, что движения не будет. Алексей, не сможешь по свободе сделать общий налёт за полёт(пройденный путь) в ОСД.

Я отнюдь не прекращаю свою деятельность. Все, что будет мной делаться в рамках доработок wfbc - будет доступно. Другое дело, что я сейчас смотрю в сторону других платформ, как аппаратных, так и программных и мои решения могут идти вразрез с пожеланиями общественности. Вполне возвможно, что некоторые наработки будут возвращены в wfbc, но брать на себя какие-либо обязательства я не могу. С налетом - надо посмотреть, как это сделать грамотно. Кстати, там и с distance from home косяк.

user1321:

@lelik
Хотел спросить, есть ли возможность получить доступ к этому фалу? Сейчас он не доступен.
Конкретнее, интересует какие патчи были применены к ядру 4.9.80-v7, я так понимаю это пересобранное ядро, а не оригинальное?
И почему было выбрано именно это ядро, если ли причина?
Так же пользователи GitHub интересуться:

  • what is the latest branch of aircrack-ng he used (5.2.20 or 5.3.4)
  • what are the modifications he did (I think he only did modify .profile and tx_telemetry.c)

Буду благодарен за ответы.
П.С. Это не коммерческий интерес. Хобби FPV.

  1. Пересборка ядра понадобилась из-за отсутствия модуля для 8812 под v6 (зероху) и возможности собрать его с оригинальным ядром (ни хидеров, ни Modules.symvers). Было взято последнее на тот момент 4.9 из git raspbian, накачены патчи из git bortek’a с точностью до мощности в regdb (поднята с 30 до 40 dBm для кетайских карт на ralink в 3 Вт, безрезультатно) и собрано с его конфигами для v6 и v7.

  2. В настоящий момемт в образе активен 5.2.20.2~20180829 (но так же есть 5.2.20.2~20180717 и 4.3.21~20180717, см. /lib/modules/4.9.80*/kernel/drivers/net/wireless/realtek/rtl88XXau, при смене симлинков не забыть про depmod). Есть некоторая разница между 4.3 и 5.2 в таблице доступных каналов, мне больше понравился 5.2. Между 0717 и 0829 разницы в работе не заметил, стало удобнее из-за слияния модулей для 8812 и 8814.

  3. Да, модифицированы .profile, tx_telemetry.c и render.c, diff вернул на место, извиняюсь

Oops… Забыл про поддержку 3B+: поменяны файлы в /boot и /lib/firmware/brcm на свежие и добавлен модуль плюсатого езернета

khomyakk
tuskan:

пи зеро хватит? Или не экономить?
и для понимания нужна статистика - сколько весит серверная сторона в сборе?

Хватит и Зеро.
Давайте называть вещи своими именами. Воздушная сторона и наземная. Нахрена вводить непонятные слова в описание. Вроде по русски общаемся.
Весить АирПи или воздушная сторона или видеопередатчик будет столько, сколько Ватт вы захотите на передатчике. Колебаться будет от 50 до 150 грамм.

tuskan

ага, стало понятнее.
а про радиомодули? с ними еще меньше понимания и основные тексты - “а у меня оно вообще не работает”

Что заведомо будет работать?
На пока мне большой мощности не нужно, нужна стабильность. Плюшки - когда заработает базис.

questioner

Если бы внимательно прочли тему, то заметили бы, что успешно работает сборка khomyakk - он также не однократно публиковал все свои комплектующие.

khomyakk

На группсах и в Вики расписаны все совместимые модули. Алексей, опять же, добавил дополнительные модули. Все они работают стабильно.
Какие использовать надо решать самостоятельно, зависит от засранности эфира. На прием , кроме маломощных, желательно ставить и мощные модули, у них хорошая чувствительность.
Посоветовал бы начать с модулей на чипе ar9271, у них большой диапазон перестройки частоты. Проще изготовление антенн. Если совсем плохая радио обстановка на 2,3-2,5ГГц, тогда переходить на 5ГГц.

khomyakk

Прожарил бустер, вроде победил. Но, кушает он гад приблизительно 12Ватт. Вот и замкнулся круг. Теперь, скорее всего, на 40 км не полечу, нехватит керосина на возврат домой. Попробую конечно, но наверное не получится.

schs
khomyakk:

Но, кушает он гад приблизительно 12Ватт. Вот и замкнулся круг. Теперь, скорее всего, на 40 км не полечу, нехватит керосина на возврат домой. Попробую конечно, но наверное не получится.

В идеале бы сделать управление мощностью, пока недалеко - меньше, далеко - максимум. Потребление заметно уменьшиться. Или делать поворотную(на серве) направленную антенну на борту и крутить через свободный канал.

khomyakk

Родизио писал о невозможности решить проблему с Датарейт. Опять же можно ещё регулировать через мощность передатчика.
Направленная антенна на самолёте наверное плохое решение. Для квадрика еще потянет. Хотя если использовать 5ГГц, то размер рефлектора будет приемлемым.
Можно и без вмешательства, антенным трекером. А для полётов вдаль две антенны вперед-назад.

lelik
khomyakk:

Родизио писал о невозможности решить проблему с Датарейт.

Собственно, именно это и заставило меня смотреть в другую сторону. Ибо если негодна связка камера-модуль - малины можно выбрасывать. Pi3 + H264 USB Camera + WFBC tx == полный треш, похоже, не тянет USB (хард или софт - непонятно). Nano Pi neo в связке с той же камерой и адаптером дает вполне приличную картинку, надо только подкрутить параметры потока, ибо 14 Мбит/сек CBR многовато 😃

khomyakk
lelik:

Nano Pi neo в связке с той же камерой и адаптером дает вполне приличную картинку

Значит ли это, что перейдя с классической Малины на этот компьютер на сборке WBC решаются проблемы с качеством видео?
Приёмная сторона в этом случае остаётся той же?
Есть ли у тебя в планах довести эту конфигурацию до законченного проекта?

lelik
khomyakk:

на сборке WBC

Точно не на сборке WBC, тащить туда эту стройную систему костылей и подпорок я не буду. Совместимость с нижней частью я пока оставляю, дальше будет видно. Буду ли я доводить ЭТУ конфигурацию до законченного вида - пока не знаю, но какую-то - придется. Мой предыдущий пост был скорее про то, что малина относительно хороша только в связке со своей камерой и кодеком из-за простоты и доступности.

svpcom

Может кому будет интересно: github.com/svpcom/wifibroadcast

Я написал свою версию wifibroadcast (из общего осталость только название). Из отличий:

  • 1:1 отображение RTP потока в IEEE80211 пакеты для минимизации отклика (без сериализации в byte-stream как в оригинале)
    • Более умный FEC
    • Шифрование и контроль подлинности потока (libsodium)
    • Распределенный сбор данных. Можно принимать данные с разных карточек на разных узлах и склеивать их вместе. Что снимает ограничение на пропускную способность USB2 шины и позволяет делать практически неограниченную diversity на приеме.
    • Агрегация mavlink пакетов. То есть сбор их в пачку (в пределах временного окна или размера wifi пакета).
    • Улучшенное OSD для Raspberry PI (потребляет не более 10% CPU на PI Zero)
      Совместимо с любым разрешение экрана и поддерживет коррецию геометрии экрана.

github.com/svpcom/wifibroadcast/wiki
dev.px4.io/…/video_streaming_wifi_broadcast.html

lelik
svpcom:

Я написал свою версию wifibroadcast (из общего осталость только название). Из отличий:

Да-да, и MCS вместо OFDM ! 😉

khomyakk
svpcom:

Я написал свою версию wifibroadcast

Можно увидеть реализацию этого проекта? Как всё работает, примеры видео…
Опять всё на английском 😃
Готовые образы есть? Или всё собирается в Линуксе?

svpcom

Мой setup выглядит примерно так: github.com/svpcom/wifibroadcast/…/Enhanced-setup
То есть 5 направленных антенн полукругом + одна всенаправленная на земле и одна всенаправленная в водухе.
Круговая поляризация. Настройки по умолчанию (ht-mcs-5 1 sgi-5 – QPSK 1/2 40MHz Short GI) дают канальную скорость до 30Мбит/с, куда h264 поток (1080p@30fps или 720p@49fps) + mavlink

отлично пролезают. Примеров видео нет (особого смысла сохранять видео на земле небыло), так как WFB это всего лишь транспорт для UDP пакетов и на качество видео не влияет.
Камеры использовались как Pi Camera + Pi Zero, так и USB камеры с аппаратным h264. Декодер видео на земле - pi zero (видео + osd).
Готовых образов нет (моя личная конфигурация довольно специфична и врядли подойдет для первого знакомства). Собрать образ довольно просто - инструкции и патчи к ядру в репозитории. Наример:

github.com/svpcom/wifibroadcast/issues/19 Собирается все в линуксе.

khomyakk:

Можно увидеть реализацию этого проекта? Как всё работает, примеры видео…
Опять всё на английском 😃
Готовые образы есть? Или всё собирается в Линуксе?

yurik999

фотку выложите интересно посмотреть на все это хозяйство.

РД00
svpcom:
  • 1:1 отображение RTP потока в IEEE80211 пакеты для минимизации отклика (без сериализации в byte-stream как в оригинале)

Не совсем понял, а вот это

raspivid <....> | gst-launch-1.0 fdsrc ! h264parse !  rtph264pay !  udpsink host=127.0.0.1 port=5600

разве не та же самая сериализация, только c дополнительной оберткой в RTP ?