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

Adekamer
khomyakk:

Радиатором задави.

мелкий радиатор - рука не держит - те больше 45 градусов…
у тебя тоже чип передатчика греется ? и бустер тоже здорово греется
непонятно - смерится с этим или нет ?
я так понял - в настройках выставлено помаксимуму выходная моща для свистков…
в случае использования бустера - это не всегда оправдано
а еше чревато перегревом и сниженим мощи - те тупо греем все и тратим ток…
хочется баланс найти…

khomyakk

Да, греется здорово, даже с радиатором, в полёте должно попустить, по крайней мере сейчас. Летом посмотрим.

khomyakk

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

Adekamer

пока не мерил - я все пытаюсь по аккуратнее собрать
там еше проблема в том, что передача идет неравномерно … короткими периодами (надо будет попробовать выставить 100% заполнение канала)
поэтому я даже мощу на выходе померить не могу - показания прыгают
опять же - все еше зависит от того какая мощность на свистке - я TX power 58 делать не буду… на 29 бустер чуть теплый а вот радиатор AR9271 кипяток
сегодня хочу убрать разьем с бустера и соеденить кабелем напрямую с свистком …
а дальше уже буду подбирать оптимальные значения для настройки режимов передачи (заполнение канала, битрейт итд) и под них подбирать мощность на свистке чтоб не уходил в перегрев ни свисток ни бустер. Кстати расположение свистка наб малиной не гуд - свисток начинает греть малину - а малина и так - ядро не холодное - у меня кажет под 40 градусов

khomyakk

Хотел с наскока посмотреть допустимые температуры процессоров-не нашел 😦

schs
khomyakk:

Хотел с наскока посмотреть допустимые температуры процессоров-не нашел

До 80 продолжительно pi zero w я грел, надо было, работает сутками.
www.raspberrypi.org/help/faqs/
8. WHAT IS ITS OPERATING TEMPERATURE?

The Raspberry Pi is built from commercial chips which are qualified to different temperature ranges; the LAN9514 (LAN9512 on older models with 2 USB ports) is specified by the manufacturers as being qualified from 0°C to 70°C, while the SoC is qualified from -40°C to 85°C. You may well find that the board will work outside those temperatures, but we’re not qualifying the board itself to these extremes.

khomyakk

Это я читал, но здесь речь идёт скорее о температуре окружающей среды.
Сейчас покажу видео. Речь о задержках. 😃 Пока в комнате и средняя освещённость-всё хорошо. Только на освещенную солнцем улицу-появляется приличная задержка.
Как только видеопоток в килобитах превышает определённый при старте-всё, с полсекунды задержка. И сразу начинают лезть битые пакеты.
Что делать?

khomyakk

Сделал следующее.
Датарэйт поставил 5. “Полосу пропускания” ограничил 70%.
Не знаю, правильно или нет, но максимум не перепрыгивает и задержка в норме.
Посмотрим на дальнейшее поведение.

schs
khomyakk:

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

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

Adekamer

по просьбе зрителей выкладываю ссылочки на начинку
малина 3 для земли: banggood.com/Raspberry-Pi-3-Model-B-ARM-Cortex-A53…
малина зеро (без W - строго) для воздуха banggood.com/Raspberry-Pi-Zero-512MB-RAM-1GHz-Sing…
камера малины banggood.com/1080P-5MP-160-Fish-Eye-Surveillance-C…
шлейф для подключения камеры к пи-зеро banggood.com/Camera-Ribbon-FFC-Cable-Connection-Wi…
бустер banggood.com/2_4G-2W-Radio-Signal-Booster-Antenna-…

lelik
schs:

По нормальному нужно править сам алгоритм отброса запоздавших пакетов

А с фрагментацией и потерями фрагментов у нас все нормально ?

schs
lelik:

А с фрагментацией и потерями фрагментов у нас все нормально ?

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

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