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

=VinT=
РД00:

Не совсем понял, как сделано соединение APM - USB Hub - WiFi/модем. MAVLINK идет через Raspberry ?

Да.
На raspberry крутиться демон, который открывает USB порт и читает/пишет все mavlink сообщения. С другой стороны он эти данные читает/принимает через UDP порт.

тигромух
=VinT=:

У меня первая версия передачи работала с цепочкой omxh264enc. Нагрузка на процессор малины была в среднем 10%.(для raspberry pi cam). Задержки о которых Вы пишите выше возможны:
Для raspberry pi cam

  1. Из-за старой прошивки raspberry (нуженrpi-update)
  2. Старой версии gstreamer (у меня стоит 1.0.7)

Вы, наверное, использовали uv4l? Мне идея с драйвером в юзерлэнде не понравилась и я экспериментировал с ядерным модулем.
Прошивка у меня самая новая, т.к. без последнего фикса драйвера, gstreamer вообще не отрывал v4l2src. У него там вялотекущая бага с перечислением доступных разрешений. В последней версии драйвера добавили костыль для обхода.
Gstreamer тоже ставил всяких версий. Даже из сорцов собирал. Малина ужасно тормозная, собирался он часов 12 😃
Самое смешное, что в первых сборках модуля все работало правильно и кто-то на форуме даже рапортовал о достигнутой латентности в 150мс. А сейчас все сломали и где искать концы непонятно…
С пайпом от raspivid вполне можно было бы жить, но все-же хочется что-нибудь порисовать на экране 😦

=VinT=:

Также я писал о опции tune=zerolatecy.

Это фишка кодека x264. Для малины не актуально. Вообще, на это тему хорошо написано тут.
И это сходится с моими экспериментами: задержка от камеры до оверлея, т.е. до энкодера составляет около 100мс.
Если хотите, могу фотку поискать 😃

1 month later
Chester_kz

Позволю себе немного оживить тему.
Сделал передачe HD(720) видео через LTE.
На малине в принципе все как у всех gsteamer отдает черeз UDP.
> gst-launch-1.0 rpicamsrc bitrate=4500000 vflip=true hflip=true preview=false ! video/x-h264, width=1280, height=720, framerate=25/1, profile=high ! h264parse ! rtph264pay config-interval=1 pt=96 mtu=1300 ! udpsink host=<серый ip телефона> port=5000 sync=false
Далее usb свисток в моем случае это ZTE MF823.
На приеме работал андроид телефон в той же сети оператора (4G). Софтину на телефон делал по примерам использовал последний SDK. если кому надо будет вышлю исходники или apk.
наш горе оператор выдает серые IP потому приходиться мучатся с конфигами. Но работает. Задержка где то такая-же как и по вайфай. Может немного больше. Не знаю почему но по вайфай я нередко видел аретефакты что говорит о том что пакеты дропаются. Здесь такого не видел.

тигромух
Chester_kz:

На малине в принципе все как у всех gsteamer отдает черeз UDP.

Через ядерный v4l не пробовали? Задержка, по идее, должна быть поменьше.
Сам пробовал, но погряз в багах gstreamer’а и забросил это дело…
А через raspivid меньше ~200 никак не получается 😦

Chester_kz
тигромух:

Через ядерный v4l не пробовали? Задержка, по идее, должна быть поменьше.

Я использовал плагин к стримеру отсюда github.com/thaytan/gst-rpicamsrc с ним вроде как задержка чуть меньше. Хотя возможно показалось. Но объективно могу сказать что с этим плагином нагрузка на основной проц гораздо меньше чем при использовании raspivid.
Не подскажите где почитать про “ядерный v4l”?

schs
Chester_kz:

если кому надо будет вышлю исходники или apk.

Можно .apk?

Chester_kz
schs:

Можно .apk?

Положил в дропбокс
В меню программы есть только Play и Pause. Видео идет в полный экран. Экран не гаснет. В принципе это стандартный туториал от г-стримера тока чуть чуть подпиленный.

schs
Chester_kz:

Положил в дропбокс

Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+

Chester_kz
schs:

Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+

Похоже я собирал под кит-кат (=>4.4) как разгребусь с работой пересоберу для версий ниже.
Кстати нашел любопытный пост на дронсах.
diydrones.com/profiles/blog/show?id=705844%3ABlogP…
В двух словах человек утверждает что можно добиться уменьшения задержки за счет увеличения fps.
Попробовал у себя разницу в latency визуально что-то не заметил. Хотя увеличение fps заметно стало - смотреть приятно.

тигромух
Chester_kz:

В двух словах человек утверждает что можно добиться уменьшения задержки за счет увеличения fps.
Попробовал у себя разницу в latency визуально что-то не заметил.

Интересно, надо потестировать…
А вы пробовали через raspivid/fdsrc или rpicamsrc?

Chester_kz
schs:

Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+

пересобрал под 4.0 ссылка

SGordon

Подскажите подходящую камеру для малины для фпв…

Chester_kz
SGordon:

Подскажите подходящую камеру для малины для фпв…

Так она вроде как одна Pi Cam. Искал альтернативу но что-от ничего не нашел. Камера конечно не ахти…
Хотя есть энтузиасты которые с easycap используют.

schs
Chester_kz:

Кстати нашел любопытный пост на дронсах

Там описывается проброс raw потока, не самый лучший вариант по требуемой полосе пропускания.

тигромух
Chester_kz:

Так она вроде как одна Pi Cam.

На ebay полно альтернатив. С разными линзами.

schs:

Там описывается проброс raw потока, не самый лучший вариант по требуемой полосе пропускания.

В самом посте - да, фигня с потоком по TCP. Смотрите коммент от Christian Winkler.

SGordon
тигромух:

На ebay полно альтернатив. С разными линзами.

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

тигромух
SGordon:

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

У меня вот такая. Накручивал на нее широкую линзу M12, но она у меня стремная, для HD не подходит.
Впрочем и с родной нормально 😃

schs
Chester_kz:

пересобрал под 4.0 ссылка

Теперь устанавливается, запускается, но показывает чёрный экран. На компьютере с XP и W8.1 картинка нормальная.

ssh1
Chester_kz:

На малине в принципе все как у всех gsteamer отдает черeз UDP.

Возможно оффтоп, но все же.
У кого нибудь получалось воспроизвести на Raspberry Pi аналоговое видео через USB AV capture девайс?
Если подробнее - заказал Oculus Rift, в августе - сентябре должен приехать. Хочу пока попробовать полетать с аналоговым видео+ Oculus Rift. Думал заставить заработать EasyCap на Raspberry Pi не составит труда - походу ошибался. Попробовал 2 варианта - STK1160 и Somagic - результат никакой, кадры обрываются, дергаются и т.д.
Очень не хочется использовать полноценный ноут для преобразования AV->HDMI для Oculus.
Может кто-нибудь знает еще варианты одноплатников с HDMI выходом нормально работающие с USB AV Capture девайсами?