Запись с API Camera2 без использования MediaRecorder - PullRequest
0 голосов
/ 22 мая 2018

В моем приложении для Android мне нужно непрерывно захватывать изображения с камеры и отправлять их по сети для удаленного просмотра.

Я посмотрел Camera2 образец записи.Кажется, этот код опирается на класс MediaRecorder.Однако в моем случае мне просто нужно как можно быстрее захватывать необработанные изображения, кодировать их определенным образом и отправлять по сети.

Похоже, что основная концепция API Camera2 заключается в том, что для этого требуетсяSurface класс.Можно ли создать класс псевдоповерхности и каким-либо образом прикрепить к нему так, чтобы изображения можно было захватывать непрерывно?Или есть лучший способ?С уважением.

1 Ответ

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

Вы можете использовать ImageReader, если вы просто хотите использовать ByteBuffers несжатых данных YUV.

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

Последнее - то, что делает большинство приложений видеочата, когда это возможно.

...