Месяц "допила" HD-линка: результаты и первые тесты свежих версий
После предыдущих тестов мы набрали большой пул замечаний и хотелок по нашему проекту, и на месяц погрузились в доработки. Сейчас бОльшая часть из них уже доделана, и сегодня я решил выложить некоторые результаты.
Сначала коротко перечислю ключевые вещи, которые мы сделали:
- На земле мы научились записывать и чистое видео с борта, и видео с наложенной телеметрией (HUD)
- Добавили запись видео на борту, на карточку MicroSD
- В борьбе за ФПС и минимальную задержку перешли на сырой видеопоток h264
- Интеграция с автопилотом SwiftAI стала практически бесшовной
- Сменили наземную WiFi-часть видеолинка на модуль с патч-антенной
- Теперь отображаем уровень сигнала Ubiquiti привычными “светодиодиками”
- Перенесли все последние наработки в приложение под андроид
Ну теперь по всем пунктам чуть подробнее.
1. На земле мы научились записывать и чистое видео с борта, и видео с телеметрией
С самого начала нам было важно записать чистый видеопоток с камеры, так как чистое видео содержит больше деталей и имеет более высокую “художественную ценность”. Но в тестах в поле первые-же вопросы были “а где запись с телеметрией?”. Был вариант телеметрию писать отдельным файлом, и потом при проигрывании ее сверху накладывать - от него пока отказались. Написали простенькое приложение, которое пишет окно нашего приложения с экрана, или целиком экран. Второй вариант оказался даже удобнее, так как в полете можно периодически переключаться например в Mission Planner, и это тоже будет записано.
Недостаток такого подхода пока один - при таком формате записи сама Windows ограничивает ФПС максимум 20 кадрами в секунду. Но для анализа видео этого более чем достаточно.
В этот месяц мы не только пилили софт, но и помогали с настройками первым пользователям Шеф-Пилота. Вот пример записи чистого видео без телеметрии c коптера Марата, полет в поселке Луговая, дистанция примерно 1,5 километра:
www.youtube.com/watch?v=4eGbidzWWk0
А вот фрагмент его первой записи с телеметрией:
Вот еще кусок моего полета с телеметрией (Бикслер, летал под Питером, дорога на Ниссан, дистанция 3,5 км). Я тут накосячил с высотой - всего 100 метров мало для такой дистанции. Картинка разваливалась пару раз - при пролете над поселком (может там мощный вайфай?) и при пролете рядом с ЗСД. Исправлю при следующих тестах.
Мне не удалось так удачно побороть вибрации как Марату - на высоких оборотах картинка в этом видео дребезжит. Есть что улучшать в общем.
2. Добавили запись видео на борту, на карточку MicroSD
Видео пишется с теми-же параметрами, что и идет в эфир. Оказалось очень полезным при разборах полетов.
Так что теперь Шеф-Пилот по умолчанию работает еще и как видеорегистратор. При коннекте с земли наш плейер показывает, сколько еще минут видео может быть записано до заполнения карточки. При изменении битрейта на лету пересчитывается и оставшееся время.
Вот живой пример. В предыдущем видео в момент посадки мой Бикслер был вне зоны действия направленного вайфая, но на борту все записалось отлично и морковка видна во всех деталях. (о причинах морковки и вообще об особенностях Бикслера+АПМ+видеолинк набирается отдельный пост уже).
Битрейт 3 мегабита:
3. В борьбе за ФПС и минимальную задержку перешли на сырой видеопоток h264
Раньше мы стримили поток RTP, и из-за особенностей системы прилично теряли в ФПС. Сейчас, на сыром h264, фпс стабильно высокий (под 30). В качестве бонуса появилась возможность в одной подсети смотреть видео с борта сразу и на ноутбуке, и на андроидном девайсе. Унификация так сказать.
4. Интеграция с автопилотом SwiftAI стала практически бесшовной
Очень большая работа проделана. Мы ждем пока Новосибирск соберет все набравшиеся результаты и их выложит. Я же пока для затравки покажу кусочек телеметрийной записи одного из тестов полетов на SwiftAI. Это одна из самых первых записей, с низким битрейтом - поэтому видео немного “квадратами” идет:
5. Сменили наземную WiFi-часть видеолинка на модуль с патч-антенной
Выяснилось, что полеты на несколько километров ведутся все-таки в заранее выбранном направлении, поэтому мы сменили антенну “штырь” на патч-антенну. Да, она светит сектором 50 градусов по горизонтали и 30 по вертикали, но для направленных полетов оказалось “самое то”.
6. Теперь отображаем уровень сигнала Ubiquiti привычными “светодиодиками”
Мелочь, но облегчает жизнь. Все-таки это проще и понятнее чем на ходу dBi трактовать.
7. Перенесли все последние наработки в приложение под андроид
Все, что наворотили в виндовом приложении, теперь перенесено и в Андроид. На горизонте наконец появляется решение для “низко и близко”.
Сейчас потеплело, летать будем все чаще и все дальше.
p.s. ну и под конец видео про мою любимую морковку этого года - мокрую 😃