Повернуть ориентацию Camera2 APIs в MediaCodec

15 000 руб. за проект • наличный расчёт, безналичный расчёт, электронные деньги
08 апреля 2019, 20:17 • 2 отклика • 76 просмотров
Оплата, только после как вы пришлете работающий APK, если не уверены, то не тратьте время обоих сторон! После оплаты вы передаете код исправленный.

Описание

Имеется тестовое приложение, в котором реализовано взаимодействие Camera2 APIs и MediaCodec, по средствам текстур OpenGL ES. Кодек имеет иную реализацию записи данных поступающих от Camera2, в связи с этим не используется стандартное решение записи видео, – в виде MediaRecorder.

Проблема

При записи видео данных в вертикальной ориентации (альбомной), данные поступающие от Camera2 не поворачиваются в соответствующую ориентацию, в связи с чем на Preview и в записываемых данных имеем не верные разрешения, ориентацию, и как следствие смещение кадра.

Необходимо

Реализовать (исправить), Preview (TextureView) и запись видео данных в горизонтальной ориентации. Чтобы на выходе имели правильно записанное видео.

Требования к приложению

поддержка большинства Android-устройств, таких как: телефоны и планшеты;
поддержка большинства архитектур, таких как: arm64-v8a, armeabi, armeabi-v7a, x86 и x86_64;
поддержка на устройствах с версией операционной системы Android 5.0 (API 21) и выше;
поддержка на устройствах с диагоналями экранов 4 (дюйма) и более;
поддержка записи видео в landscape (горизонтальной) ориентации;
приложение не вызывает критических, системных или фатальных ошибок;
поддержка вывода Preview во весь экран, во время работы Camera2;
приложение имеет наименьший размер пакета, не в ущерб производительности;
Camera2 APIs, MediaCodec, GLES.

Требование к исходному коду

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

Дополнительно

Заказчик предоставляет Исполнителю пример приложения, данные Preview и записи видео, в котором необходимо повернуть в горизонтальную ориентацию;
Испалнитель обязан предоставлять Заказчику промежуточные сборки (билды) приложения, для мониторинга процесса и теста функционала, на протяжении всего времени разработки (доработки) приложения;
По окончании разработки (доработки) Исполнитель обязан предоставить заказчику исходный код приложения, в компилируемом из каробки виде.



p.s.
Стандартные решения (методы и реализации) вроде configureTransform, не помогают.
Если вы не знаете, то лучше не тратить ваше и наше время)



исходники по ссылке https://cloud.mail.ru/public/BDH3/PTiCYbaAk