Android Camera2 видео соотношение сторон - PullRequest
0 голосов
/ 22 мая 2018

Я не верю в следующее, как было дано в явном ответе:
Используя API-интерфейс Camera2, можно ли записывать вне родного разрешения устройства (скажем, 1: 1) без использования постобработкитакие как ffmpeg ?

1 Ответ

0 голосов
/ 22 мая 2018

У вас недостаточно подробностей, чтобы точно объяснить, какое разрешение вы хотите использовать, но звучит так, как будто вы хотите записать с соотношением сторон / разрешением, которое не соответствует одному из поддерживаемых соотношений / разрешений сторон изКамера устройства.

Вы всегда можете отправить данные изображения в графический процессор, сделать там любое необходимое кадрирование / масштабирование и затем отправить его в видеокодер.

Как правило, этовключают в себя:

  1. Настройка контекста EGL
  2. Создание цели рендеринга в EGL и получение для нее поверхности Android
  3. Создание текстуры поверхности для отправки данных текстуры вEGL
  4. Подключите входной текст EGL SurfaceTexture к камере (сначала создав из нее Surface, если используется камера2)
  5. Подключите выходной EGL Surface к MediaRecorder
  6. Записывайте код шейдера вобрабатывать входящие кадры с камеры, обрезать / масштабировать / изменять по мере необходимости, затем рендерить их на выходную поверхность
  7. Установить камеру и медиа-рекордер, затем запустить ихоба
  8. В SurfaceTexture onFrameAvailable активируйте код рендеринга.

Это довольно сложный процесс построения, но он должен быть достаточно эффективным, когда закончите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...