Запись экрана определенных представлений в Android

Мне нужно записать определенные представления в приложении для Android, как audio, так и video. Скажем, у меня есть макет внутри .xml файла, и я хочу создать video(.mp4) только этого вида. Какой лучший подход или возможное решение? Пока мой вывод таков:

  1. MediaProjection записывает только весь экран, что НЕ является моим требованием.
  2. Javacv — поскольку размер файла JAR слишком велик, и я уже на грани удовлетворения apk ограничение по размеру (100 МБ), плюс я уже использую FFMPEG и OpenCV и столкнулся с UnsatisfiedLinkingError с помощью Javacv. (Я не хочу идти на это, если не осталось другого выбора.)

Одно из возможных решений, которое приходит мне на ум, - это захватить кадры (растровые изображения) этого представления и объединить их со звуком для создания видеофайла.

Вопрос. Возможно ли это с MediaRecorder использовать кадры и звук для создания видеофайла? Как я могу передать кадры в MediaRecorder. Все, что я смог найти о MediaRecorder, это как передавать кадры камеры в TextureView. .


person Shahzeb    schedule 29.09.2017    source источник
comment
Используйте API-интерфейсы медиапроекции, а затем обрежьте результат.   -  person CommonsWare    schedule 30.09.2017
comment
@CommonsWare Я не могу обрезать результаты, так как представления перекрываются.   -  person Shahzeb    schedule 30.09.2017
comment
Тогда я не понимаю, как вы могли бы создать видео любым способом, так как представления перекрываются. Какая бы проблема у вас ни возникла с обрезкой медиа-проекции, кажется, что она повлияет на вас с любым из других предложенных вами решений (ни одно из которых, насколько я знаю, не сработает).   -  person CommonsWare    schedule 30.09.2017
comment
вы можете создать растровое изображение из представления и использовать его на opencv   -  person Mortada    schedule 30.09.2017
comment
@Shahzeb, ты нашел решение для этого? я также должен записать то же самое.   -  person Ashish Agrawal    schedule 22.11.2018
comment
@AshishAgrawal Я использовал API MediaProjection и использовал хаки для удовлетворения своих требований, таких как скрытие некоторых представлений и т. д.   -  person Shahzeb    schedule 26.11.2018
comment
Вы можете использовать [фильтр EZ][1]. Вы можете записывать определенный макет и экспортировать его как видео.   -  person Elangovan S    schedule 16.11.2019