Доступ к камере с высокой частотой кадров на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Доступ к камере с высокой частотой кадров на Android

Сообщение Anonymous »

Существуют телефоны с официальной поддержкой записи с высокой частотой кадров, например Galaxy S5 и S6. Я попробовал оба варианта: оба вы можете записывать видео с высокой частотой кадров (60 или даже 120 кадров в секунду) с помощью приложения камеры по умолчанию. (Или на S6 с использованием функции «Проходная камера» Gear VR.) НО: когда вы запрашиваете возможности камеры через стандартные API-интерфейсы Android (пробовал как на S5 в версии 4.4, так и в версии 5.0 и на S6 в версии 5.1, пробовал и старую, и новую версию). camera2 API) во всех случаях 30 кадров в секунду считается максимально доступным. Означает ли это, что эти телефоны используют частные проприетарные API для доступа к возможностям высокой частоты кадров и не существует стандартного способа доступа к более высокой частоте кадров? Является ли это недостатком производителя (который может измениться в будущих версиях программного обеспечения или телефонах) или я просто что-то упускаю?
Мне даже не нужна замедленная съемка, достаточно камеры с высокой частотой кадров для использования в режиме реального времени, поэтому 60 кадров в секунду будет достаточно.

Пример, который я попробовал для запроса частоты кадров камеры в старом API камеры;

Код: Выделить всё

List a = camera.getParameters().getSupportedPreviewSizes();
List b = camera.getParameters().getSupportedPreviewFpsRange();
int[] c = new int[2];
camera.getParameters().getPreviewFpsRange(c);
То же самое в API камеры2:

Код: Выделить всё

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameras = manager.getCameraIdList();
for(String camera : cameras) {
CameraCharacteristics cc = manager.getCameraCharacteristics(camera);
Range[] fpsRange = cc.get(cc.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);
}
Я получаю только диапазоны:
[15, 15], [24, 24], [10, 30], [15, 30], [30] , 30] (даже меньший диапазон со старым API камеры).

В API camera2 я нашел несколько методов доступа к записи с камеры с высокой частотой кадров: createConstrainedHighSpeedCaptureSession().
Но он определяет высокоскоростную запись видео как «частоту кадров >=120 кадров в секунду», поэтому мне она даже не нужна для 60 кадров в секунду. В любом случае я запросил эту возможность, но, похоже, она не поддерживается на S6. Код, который я пробовал:

Код: Выделить всё

CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameras = manager.getCameraIdList();
for(String camera : cameras) {
CameraCharacteristics cc = manager.getCameraCharacteristics(camera);
CameraCharacteristics.Key aa = cc.REQUEST_AVAILABLE_CAPABILITIES;
for (int i = 0; i < cc.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES).length; i++) {
Log.e(TAG, "Capability: " + cc.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES)[i]);
}
}
В нем говорится, что поддерживаются только возможности 0, 1, 2, 3, 5, 6.
REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO будет равно 9.

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

Я знаю, что вопрос очень похож или связан с этим: снимать видео с высокой частотой кадров с помощью нового API камеры.
Но мой вопрос более общий. , не относящийся ни к старому, ни к новому API камеры, ни к конкретным устройствам. Мне также любопытно, о какой частоте кадров в секунду сообщают другие новые флагманские устройства через стандартные API, поскольку я смог протестировать это только на трех устройствах.

Подробнее здесь: https://stackoverflow.com/questions/356 ... on-android
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»