Cómo habilitar la API de Camera2 y disparar RAW en Android

Aunque la API de Camera2 se introdujo en Android Lollipop en 2015, la mayoría de los fabricantes de teléfonos en 2017 aún no han implementado la API de Camera2 en sus teléfonos móviles. Solo un puñado de dispositivos premium tienen compatibilidad completa con la API de Camera2, a pesar de que Google ha desaprobado la API de la cámara heredada e instó a los desarrolladores a implementar Camera2 desde su lanzamiento. Parece que los fabricantes están utilizando las características de la API Camera2, como la captura en formato RAW, como un punto de venta para sus dispositivos premium, en lugar de la actualización universal que Google pretendía que fuera.

La mala noticia es que no es posible simplemente actualizar su ROM de stock con la API de Camera2; tendría que reconstruir la ROM y agregar el soporte de la API de Camera2 usted mismo, o actualizar una ROM personalizada con la API incorporada. La buena noticia es que Hay algunos trucos para habilitar la API de Camera2 si la dejó en su ROM pero el fabricante la deshabilitó. También hay una forma nativa de tomar fotografías en formato RAW con dispositivos Mediatek. Te mostraré estos trucos a continuación.

¿Qué diablos es el formato RAW y por qué quiero la API Camera2?

Si se ha topado con esta guía y no tiene idea de qué es el formato RAW, es básicamente un formato de imagen sin pérdidas; piénselo como velocidades de bits de video o música. Conoce la diferencia entre archivos de música de 120 kbps, 320 kbps y FLAC, ¿verdad? ¿O ver videos de Youtube en 320p frente a 1080p? Es básicamente el mismo que para JPEG vs RAW, tipo de .

El formato RAW capturará fotos en un esplendor completamente sin pérdidas, lo que significa compresión de imagen cero (pero tamaños de archivo mucho más grandes). Estas imágenes RAW son mucho mejores para manipularlas en software de imágenes, porque, como indica el nombre del tipo de archivo, son datos de imagen completamente RAW . Si compara un JPEG con una foto RAW directamente de la cámara, uno al lado del otro, el JPEG puede parecer tener colores más brillantes u otras mejoras visuales; esto se debe a que el software de la cámara procesa posteriormente los archivos JPEG y los integra en los datos de la imagen. .

Por lo tanto, un RAW sin editar puede parecer más feo que un JPEG en una comparación lado a lado. Pero para los entusiastas de la manipulación de imágenes, la falta de "posprocesamiento" por parte del software de la cámara es exactamente lo que necesitan. El posprocesamiento está totalmente bajo su control . Esto significa que las fotos RAW se pueden mejorar en un grado mucho mayor que los archivos JPEG, porque no está luchando contra la “magia” de posprocesamiento del software de la cámara aplicada a los archivos JPEG.

Habilitar la API de Camera2 en Build.Prop

Advertencia: Siempre cree una copia de seguridad de su build.prop en caso de que algo salga mal.

Este método tiene una probabilidad de éxito del 50/50, pero vale la pena intentarlo. Parece que algunos fabricantes tienen la API Camera2 incorporada en las ROM, pero la deshabilitaron por alguna razón: simplemente agregando una línea a build.prop en la partición / system de su dispositivo Android, puede habilitar la funcionalidad de la API Camera2.

Consulte también: Cómo editar la versión de Android Build.Prop con ajustes esenciales

Primero necesitará un teléfono rooteado y un método para editar su archivo build.prop. Puede usar una aplicación de exploración de archivos raíz (como ES Explorer ) para navegar a la partición / system en su teléfono y abrir build.prop con un editor de texto, o puede usar un editor build.prop dedicado como JRummy BuildProp Editor.

Una vez que esté dentro de build.prop, busque esta cadena:

persist.camera.HAL3.enabled = 0

Cambie el 0 a 1, guarde y salga de build.prop, luego reinicie su teléfono. Si esa cadena no se encuentra en su build.prop, intente agregar manualmente persist.camera.HAL3.enabled = 1 al final de su archivo build.prop, guárdelo y reinicie. Luego, puede probar si funcionó iniciando una aplicación de cámara de terceros como Open Camera o Camera FV-5 y verificando en el menú Configuración si puede habilitar el modo Camera2 API.

Habilitar la API de Camera2 en el emulador de terminal

Un método alternativo al anterior es intentar habilitar Camera2 API a través de Terminal Emulator. Simplemente inicie la terminal y escriba los siguientes comandos:

su

su persist.camera.HAL3.enabled 1

salida

salida

Reinicie su teléfono y verifique si funcionó con una aplicación de cámara de terceros como Open Camera o Camera FV-5.

Toma fotos RAW en el modo Ingeniero de Mediatek

Si tiene un dispositivo con chipset Mediatek, hay una forma de tomar fotos RAW incluso sin la API Camera2 habilitada, a través del Modo Ingeniero. Hay varios métodos para acceder al modo de ingeniero:

Abra el marcador de su teléfono y escriba este número: * # * # 3646633 # * # *

Alternativamente, puede instalar una aplicación como MTK Engineering Mode para tener siempre un icono de acceso directo en su hogar. También puede instalar Xposed y el módulo GravityBox ( consulte: Cómo cambiar completamente el tema de Android con los módulos Xposed ) , que también tendrán un lanzador en el modo de ingeniero.

En cualquier caso, una vez que esté dentro del modo de ingeniero, simplemente desplácese hacia la derecha hasta Pruebas de hardware> Cámara. Este es un modo de prueba para el hardware de la cámara, pero puede habilitar todo tipo de opciones de cámara, incluido el formato RAW, y tomar fotografías.

Cuando toma fotos RAW en el modo Ingeniero, se guardarán dos archivos en el directorio / DCIM / CameraEM /: un archivo JPEG para obtener una vista previa de la foto y el archivo RAW real, que no se puede obtener en el teléfono Android. Deberá exportar el archivo RAW a su PC y usar un software de edición de imágenes como Adobe Photoshop para manipular la imagen RAW, y es posible que también deba convertirlo a un formato RAW universal en lugar de lo que genera su teléfono.