Беспроводная передача видео в full HD
У меня первая версия передачи работала с цепочкой omxh264enc. Нагрузка на процессор малины была в среднем 10%.(для raspberry pi cam). Задержки о которых Вы пишите выше возможны:
Для raspberry pi cam
- Из-за старой прошивки raspberry (нуженrpi-update)
- Старой версии gstreamer (у меня стоит 1.0.7)
Вы, наверное, использовали uv4l? Мне идея с драйвером в юзерлэнде не понравилась и я экспериментировал с ядерным модулем.
Прошивка у меня самая новая, т.к. без последнего фикса драйвера, gstreamer вообще не отрывал v4l2src. У него там вялотекущая бага с перечислением доступных разрешений. В последней версии драйвера добавили костыль для обхода.
Gstreamer тоже ставил всяких версий. Даже из сорцов собирал. Малина ужасно тормозная, собирался он часов 12 😃
Самое смешное, что в первых сборках модуля все работало правильно и кто-то на форуме даже рапортовал о достигнутой латентности в 150мс. А сейчас все сломали и где искать концы непонятно…
С пайпом от raspivid вполне можно было бы жить, но все-же хочется что-нибудь порисовать на экране 😦
Также я писал о опции tune=zerolatecy.
Это фишка кодека x264. Для малины не актуально. Вообще, на это тему хорошо написано тут.
И это сходится с моими экспериментами: задержка от камеры до оверлея, т.е. до энкодера составляет около 100мс.
Если хотите, могу фотку поискать 😃
Позволю себе немного оживить тему.
Сделал передач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 потому приходиться мучатся с конфигами. Но работает. Задержка где то такая-же как и по вайфай. Может немного больше. Не знаю почему но по вайфай я нередко видел аретефакты что говорит о том что пакеты дропаются. Здесь такого не видел.
На малине в принципе все как у всех gsteamer отдает черeз UDP.
Через ядерный v4l не пробовали? Задержка, по идее, должна быть поменьше.
Сам пробовал, но погряз в багах gstreamer’а и забросил это дело…
А через raspivid меньше ~200 никак не получается 😦
Через ядерный v4l не пробовали? Задержка, по идее, должна быть поменьше.
Я использовал плагин к стримеру отсюда github.com/thaytan/gst-rpicamsrc с ним вроде как задержка чуть меньше. Хотя возможно показалось. Но объективно могу сказать что с этим плагином нагрузка на основной проц гораздо меньше чем при использовании raspivid.
Не подскажите где почитать про “ядерный v4l”?
Не подскажите где почитать про “ядерный v4l”?
Например тут.
если кому надо будет вышлю исходники или apk.
Можно .apk?
Можно .apk?
Положил в дропбокс
В меню программы есть только Play и Pause. Видео идет в полный экран. Экран не гаснет. В принципе это стандартный туториал от г-стримера тока чуть чуть подпиленный.
Положил в дропбокс
Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+
Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+
Похоже я собирал под кит-кат (=>4.4) как разгребусь с работой пересоберу для версий ниже.
Кстати нашел любопытный пост на дронсах.
diydrones.com/profiles/blog/show?id=705844%3ABlogP…
В двух словах человек утверждает что можно добиться уменьшения задержки за счет увеличения fps.
Попробовал у себя разницу в latency визуально что-то не заметил. Хотя увеличение fps заметно стало - смотреть приятно.
В двух словах человек утверждает что можно добиться уменьшения задержки за счет увеличения fps.
Попробовал у себя разницу в latency визуально что-то не заметил.
Интересно, надо потестировать…
А вы пробовали через raspivid/fdsrc или rpicamsrc?
я через rpicamsrc пробовал
Добрался попробовать. У меня на устанавливается. Android 4.1.1kernel 3.0.8+
пересобрал под 4.0 ссылка
Подскажите подходящую камеру для малины для фпв…
Подскажите подходящую камеру для малины для фпв…
Так она вроде как одна Pi Cam. Искал альтернативу но что-от ничего не нашел. Камера конечно не ахти…
Хотя есть энтузиасты которые с easycap используют.
Кстати нашел любопытный пост на дронсах
Там описывается проброс raw потока, не самый лучший вариант по требуемой полосе пропускания.
Так она вроде как одна Pi Cam.
На ebay полно альтернатив. С разными линзами.
Там описывается проброс raw потока, не самый лучший вариант по требуемой полосе пропускания.
В самом посте - да, фигня с потоком по TCP. Смотрите коммент от Christian Winkler.
На ebay полно альтернатив. С разными линзами.
вот вот , видал там вариантики, что посоветуете взять?
вот вот , видал там вариантики, что посоветуете взять?
У меня вот такая. Накручивал на нее широкую линзу M12, но она у меня стремная, для HD не подходит.
Впрочем и с родной нормально 😃
пересобрал под 4.0 ссылка
Теперь устанавливается, запускается, но показывает чёрный экран. На компьютере с XP и W8.1 картинка нормальная.
На малине в принципе все как у всех 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 девайсами?
У кого нибудь получалось воспроизвести на Raspberry Pi аналоговое видео через USB AV capture девайс?
Зачем вам такие сложности?
Не проще использовать что-то типа такого: dx.com/…/r2hd01-av-to-hdmi-converter-black-208715