Raspberry Pi Tank

Тема в разделе "Глядите, что я сделал", создана пользователем Electronchik, 19 окт 2015.

  1. Electronchik

    Electronchik Нерд

    Raspberry Pi Tank - это открытый проект по управлению игрушечным танком с помощью Raspberry Pi. Видеосигнал передается через интернет (Wi-Fi), управление осуществляется прямо из браузера . ( http://pitank.com )

     
    Последнее редактирование: 20 окт 2015
    DrProg, Mestniy, Alex19 и ещё 1-му нравится это.
  2. Alex19

    Alex19 Гуру

    Интересная работа, сейчас ковыряюсь с чем то подобным. На видео как я понял разрешение 960x720?
    Если не секрет, как сделана передача видео?

    Сам сейчас пробую разные варианты, но пока не получил желаемого результата.
     
  3. PiTank

    PiTank Нерд

    Да по умолчанию изображение передается в 960x720, но можно выбрать любое от 320x240 до 1280x1024.

    Пока лучше результаты по задержке видеопотока удалось получить с использованием Logitech c270 (любая камера с поддержкой linux uvc подойдёт) и mjpg-streamer. Задержка составляет порядка 100 мс, что вполне комфорно для удаленного управления.

    Mjpg-streamer потребляет совсем немного ресурсов(1-3% cpu Raspberry Pi), так как не занимается перекодировкой изображений. Из камеры он получает jpg и стримит его в веб. Mjpg формат поддерживается практически всеми браузерами нативно, причем даже телефонными браузерами android и IOS. Единственный его минус в том, что ему требуется значительная полоса пропускания по сравнению с другими алгоритмами сжатия. Нужно быть готовым, что потребуется 3-5 мегабит для 1280x1024 и 20 кадров в секунду.

    Для wifi это непроблема, а с 3g скорее всего работать нормально не будет.

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

    Постараюсь написать статью на pitank.com в ближайшее время с инструкциями как использовать mjpg streamer, так что следите за обновлениями.
     
    Alex19 нравится это.
  4. Alex19

    Alex19 Гуру

    Не увидел новый пост, спасибо за пояснение.
    Немного прервался на проектирование, оснастку для производства корпусных изделий, да и работы много.

    1280x720 с 25 кадрами в секунду, это минимум который мне необходим. Хотелось бы все таки 1920x1080 правда я сомневаюсь, что возможно получить такое разрешение с необходимыми задержками.

    Сейчас есть 1280x720 с 25 (на UV4L Mjpg), правда задержка еще далека от необходимой, у Вас на видео лучше. Что касается полосы пропускания, я готов отдать 90% от возможной, остальное останется для UDP и nginx, так же готов отдать до 50% загрузки CPU, GPU.

    Как раз хотел расспросить, буду ждать. Пока мне не просто дается, установки и настройки на linux.

    Глянул Ваш проект, у Вас Perl + Ruby + JavaScript. Я остановился на более простой связке Node.js + JavaScript.