Стабилизация видео в реальном времени

Я получил Google Pixel и попытался записать видео с официальным приложением, я обнаружил, что на записи есть замечательный встроенный механизм стабилизации, поэтому, если я немного пожимаю руку, это движение немного переносится на запись (даже предварительный просмотр видео впечатляет стабильностью).

Однако я попытался использовать свое собственное приложение для записи видео, и эта стабилизация не происходит.

Я, конечно, пробовал с помощью метода setVideoStabilization() в официальных документах, но результат не так хорош, как со встроенным приложением для камеры.

Есть ли что-то еще, что мне не хватает?

Ответ 1

Вы можете рассмотреть OpenSource.Android и найти некоторую логику для стабилизации. Еще одна ссылка находится здесь platform_packages_apps_camera. Оттуда вы можете сделать свой собственный R & D.

Или

Подождите, пока API-интерфейс, основанный на стабилизации изображения на основе Pixel Camera, или такой код, будет доступен для всех.
Будущее обновление Android SDK может улучшить текущую функцию стабилизации.

Ответ 2

Подождите, пока Google выпустит его в своем API.

Из предыдущего опыта новые функции обычно занимают немного времени, чтобы пройти для всех нас, чтобы использовать их в форме API.

В то же время попробуйте привлечь внимание экспертов: https://code.google.com/p/android/issues/list. Вы можете заставить его вдаваться в обновление ранее даже

Ответ 3

Если вы не хотите ждать, альтернатива заключается в том, чтобы прочитать эту потрясающую статью о том, что контент не разбирается с помощью акселерометраисходный код здесь).

Это было сделано, чтобы развязать содержимое телефона (например, облегчить чтение при перемещении транспорта), но это та же логика, которую вы можете применить к видеопотокам с камеры.

Однако не ожидайте получить те же результаты, что и Google. Действительно, это может только стабилизация программного обеспечения, которая будет перемещаться вокруг вашего изображения и, таким образом, обрезать его. Чтобы избежать обрезки и изменения яркости, Google использует оптическую стабилизацию изображения, которая механически перемещает объектив и, таким образом, позволяет избежать кадрирования. Однако OIS пока не поддерживается на всех телефонах, поэтому учтите это, если вы используете Google API в своем приложении.