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

lelik
schs:

Пакеты передаются последовательно, т.е. фрагментации нет. В пределах заданного потери пакетов корректируется по FEC.

MTU у нас сколько, 1024 по умолчанию? А фрейм 1280х720 в H.264 с камеры сколько весит ? Есть там фрагментация, есть. И контроля целостности фрейма нет, иначе бы картинка не рассыпалась при невозможности коррекции по FEC.

khomyakk

Немного погуглил ранее. Пи Зеро. Тяжело ему. В нынешней моей конфигурации процессор грузится до 70%.
Нашёл в нете эксперименты товарища по разгону.
Взял чуть меньшие значения чем у него.
Частота процессора сейчас у меня 1050.
Память - 500 и ещё раз 500.
Судя по ОСД нагрузка на процессор снизилась до 60%.

Теперь уже вопрос. Никаких восходящих потоков у меня не предвидеться-ни управления с джойстика ни через программы. Поэтому ниже кусок конфига. Жирным выделил, что думаю отключить. Но всё же у вас спрошу, чтобы не начудить. Во всех нужных местах отключил?
Последнее жирное выделение-обьясните что и для чего это?

#
# Set to “disabled” or “mavlink” for Mavlink (Tower App, Missionplanner, etc.)
TELEMETRY_UPLINK=disable
#
#
# Set this to “mavlink” to enable R/C over wifibroadcast using mavlink protocol or “msp” for MSP protocol
# Set to “sumd” for Graupner SUMD, “ibus” for Flysky IBUS, “srxl” for Multiplex SRXL / XBUS Mode B. Set to “disabled” to disable
# See joyconfig.txt for other settings, default settings work for Taranis in USB Joystick mode
RC=disable
#
#
#
# TX settings
# ============================================================
#
# set to “auto” for automatic video bitrate measuring. Set to a fixed value to
# disable automatic measuring
VIDEO_BITRATE=auto
#
#
# if VIDEO_BITRATE above is set to “auto” the videobitrate will be determined
# by measuring the available bitrate and multiplying it with BITRATE_PERCENT
# Depending on channel utilization by other wifi networks you may need to set
# this to a lower value like 60% to avoid a delayed video stream.
# On free channels you may set this to a higher value like 75% to get a higher
# bitrate and thus image quality.
BITRATE_PERCENT=65
#

# not supported yet, do not change
FC_MSP_SERIALPORT=/dev/ttyUSB0
FC_MSP_BAUDRATE=115200
#
#
#
# RX settings
# ============================================================
#
# Set to “Y” to scan for wifi networks with airodump-ng before starting RX
AIRODUMP=N
#
# Number of seconds wifi scanner is shown. Minimum recommended scanning time is 25 seconds.
AIRODUMP_SECONDS=25
#

# UDP port to send video stream to, set to 5000 for FPV_VR app or 5600 for Mission Planner
VIDEO_UDP_PORT=5600
#
#
# Mavlink forwarder to use. Choose “mavlink-routerd” or “cmavnode”
MAVLINK_FORWARDER=mavlink-routerd
#
#
# Set this to “Y” to enable collection of extra debug logs. If you experience any issues,
# please reproduce them with debug set to “Y” and plug a USB memory stick afterwards, you
# will find the debug logs on the memory stick.
DEBUG=N
#

Adekamer

а у меня пизеро курит
Константин, делись своими настройками видео итд

khomyakk
Adekamer:

а у меня пизеро курит

Это как? 😃
Настройки видео совсем не трогал. Сбросить wifibroadcast.txt ?
Вот сегодня снял, окончательные настройки перед вылетом. Правда когда этот вылет будет не знаю. Морозы обещают, а у меня всё на удочках, земля промёрзла, не загнать уголки в землю.
Из свойств файла - скорость потока 8082 кбит/с

Ютьюб портит. Если смотреть не разворачивая окно во весь экран-примерно такое качество у меня на полном экране с оригинального видеофайла.

schs
khomyakk:

TELEMETRY_UPLINK=disable

По идее достаточно только этого, на стороне приёмника.

lelik:

MTU у нас сколько, 1024 по умолчанию? А фрейм 1280х720 в H.264 с камеры сколько весит ? Есть там фрагментация, есть. И контроля целостности фрейма нет, иначе бы картинка не рассыпалась при невозможности коррекции по FEC.

Там не ethernet в чистом виде. Размер передаваемого блока задаётся.
Рассыпания происходят до прихода очередного опорного кадра, в случае потери любого кадра из цепочки.

lelik
schs:

Там не ethernet в чистом виде. Размер передаваемого блока задаётся.

Термин MTU не я придумал, он там в коде есть 😃 Но размер блока не более 1550 для atheros и 2278 для ralink, так что фрагментация КАДРА при дефолтном блоке 1024 имеет место.

schs:

Рассыпания происходят до прихода очередного опорного кадра, в случае потери любого кадра из цепочки.

Если бы кадр отбрасывался целиком, были бы фризы, а не рассыпания. А так в случае потери фрагмента на вход hello_video поступает битый кадр, который оное хелло доблестно пытается всем показать. Вот если поток завернуть в RTP и посмотреть gstreamer’ом, то видны небольшие артефакты, а тотального рассыпания картинки нет.

Я к тому, что надо посмотреть поподробнее, как добавить контроль целостности кадра и дропать его целиком при фатальной потере фрагмента.

Adekamer

Константин, про малину пизеро
оченгь сильно нагрузка на проц зависит от FPS
при FPS 30 - малина курит - загрузка небольшая
при 40 уже почти под 50% итд
и температура растет

khomyakk
schs:

Сообщение от khomyakk
TELEMETRY_UPLINK=disable
По идее достаточно только этого, на стороне приёмника.

Чуть сам ошибся . В комментариях написано disableD , D должно быть в конце?

Adekamer:

при FPS 30

Ну так и есть. У меня 48фпс и сейчас 60%. Очень сильно зависит от скорости потока. Такая нагрузка при 8000 кбит\с.
Ну и хрен с єтими 60%, она же ничем другим не занимается, кроме видео и телеметрии.

lelik
Adekamer:

Константин, про малину пизеро
оченгь сильно нагрузка на проц зависит от FPS
при FPS 30 - малина курит - загрузка небольшая
при 40 уже почти под 50% итд
и температура растет

RTFM, однако:

  • Check CPU usage and CPU temperature on both the transmitter and receiver A Pi Zero or Pi1 as transmitter should show around 50-60% CPU usage with standard settings, Pi3 as receiver somewhere below 20%. In general, make sure that CPU usage never goes above 80-90%. Make sure temperature is below 70-75 degrees, as at 80 degrees C, the Pi will be slowed-down. Starting with 1.6RC4, CPU usage and temperatures are shown on the OSD and are also automatically logged and graphed
Adekamer
lelik:

RTFM, однако:

я изначально фпс 30 пользовал и не понимал проблемы Константина
в обшем надо много играться с балансом настроек

lelik
Adekamer:

я изначально фпс 30 пользовал и не понимал проблемы Константина
в обшем надо много играться с балансом настроек

Я сразу ставлю максимально жесткий режим дабы потом не расстраиваться.

Adekamer
khomyakk:

Поигрался чуть с установками камеры
Боковое солнце, разные режимы экспозамера

а можно детали по настройке работы с камерой ?
спасибо

khomyakk

Антон, я вообще в этом не шарю, но настройки по умолчанию(картинка), мне не очень понравились. Знаю слово экспозиция, баланс белого, замер. Залез в вики по камере, попробовал разные варианты. Замер по матице мне больше понравился. Вот и выложил видео, первая часть по умолчанию, с 24 секунды matrix.

SGordon

А подскажите, нет варианта на приемной части установить ноутбук с линуксом и теми же WiFi картами, только для малинок есть сборки?

Adekamer
SGordon:

А подскажите, нет варианта на приемной части установить ноутбук с линуксом и теми же WiFi картами, только для малинок есть сборки?

сборок нет (есть только под ARM малины) под х86 надо собирать из сырцов
сырцы есть - но вот их собрать воедино будет непросто

Adekamer

в общем - пора мне переходить от прототипа к летающей реализации
пока хочу попробовать на мелком дристоокптере 260 формата с АП (но летать будет неспеша)
посему вопрос? если реализацией передающего железа все более менее понятно по компоновке
то реализация наземной части не ясна
у меня пока сетап такой - малина пи3 и к ней два свистка каждый с двумя антеннами
буду рад любой информацией и фото как вы соорудили наземку
нужно ли на наземные свистки давать отдельно от малины питание как на передающей малине ? или и так хватает и малина не режет питание на принимающие свистки
ну и самый главный вопрос - как это все дело скомпоновали на штативе ? спасибо

kostya-tin

Как раз сегодня занимался штативом и антеннами. У меня пока что так:

Малина пока висит на ЮСБ разъемах

lelik
Adekamer:

нужно ли на наземные свистки давать отдельно от малины питание как на передающей малине ? или и так хватает и малина не режет питание на принимающие свистки

Малина на USB-порты отдает 600мА по умолчанию, 1.2А при включенном max_usb_current (в rc5 включено, в rc2 выключено), на одну 036nha точно хватает при дефолтных настройках в ath9k_hw. Саму малинку, очевидно, питать через гребенку.

Adekamer

я наземную малину подпаялся к контактным площадкам… около усб
вопрос только в том, что если у меня два свистка на приеме - если я не транслирую рц итд на летающую часть - нужно ли дополнительно питать свистки в обход малины ?
очень уж заманчиво сделать свистки на родных разьемах без возни с питанием

kostya-tin

Я запитал от малины. Для приема сигнала много тока и не нужно