56A7D9DE4EA7DACC677A9244A49FEE38 " />
Overblog
Edit post Seguir este blog Administration + Create my blog

Conociendo Stagefright Android

por Bienvenidos a Portal Tecnologico 30 Julio 2015, 14:10 Stagefright Android medios nativo formatovideo audio codecs OpenMax DRM

Android ofrece un motor de reproducción de medios a nivel nativo llamado Stagefright que viene incorporado con codecs basados ​​en software para varios formatos de medios populares. Características Stagefright para audio y reproducción de vídeo incluyen la integración con los codecs OpenMAX, gestión de sesiones, la representación tiempo-sincronizado, control de transporte, y DRM.

Además, Stagefright soporta la integración con los codecs de hardware personalizado que usted proporciona.Hay en realidad no es un HAL de implementar para codecs personalizados, sino para proporcionar una ruta de hardware para codificar y decodificar los medios de comunicación, debe implementar el códec basado en hardware como OpenMAX IL (Capa de Integración) componente.

Arquitectura


El siguiente diagrama muestra cómo las aplicaciones de medios de comunicación interactúan con el entorno multimedia nativo de Android.

Arquitectura medios Android

Figura 1. Arquitectura de Medios

Application Framework
A nivel de estructura de aplicaciones es el código de la aplicación, que utiliza las android.media API para interactuar con el hardware multimedia.
Carpeta IPC
Los proxies Carpeta IPC facilitan la comunicación a través de límites de proceso. Están ubicados en elmarcos / av / media / libmedia directorio y comienzan con la letra "I".
Marco Multimedia Nativo
A nivel nativo, Android proporciona un marco multimedia que utiliza el motor Stagefright para audio y grabación de vídeo y reproducción. Stagefright viene con una lista predeterminada de codecs de software compatibles y se puede implementar su propio codec de hardware mediante el uso de la norma capa de integración OpenMAX. Para más detalles de implementación, consulte los diversos MediaPlayer y componentes Stagefright situado en marcos / av / media .
Integración OpenMAX Capa (IL)
El OpenMAX IL proporciona una forma estandarizada para Stagefright reconocer y utilizar códecs multimedia basados ​​en hardware personalizados llamados componentes. Debe proporcionar un plugin OpenMAX en forma de una biblioteca compartida denominada libstagefrighthw.so . Este plugin vincula sus componentes códec personalizados para Stagefright. Sus codecs personalizados deben ser implementadas de acuerdo a la norma componente OpenMAX IL.

Implementación personalizada Codecs


Stagefright viene con codecs de software integradas para formatos de medios comunes, pero también se puede añadir sus propios codecs de hardware personalizado como componentes OpenMAX. Para ello, es necesario crear componentes OMX y también un plugin OMX que engancha juntos sus codecs personalizados con el marco Stagefright. Para ver un ejemplo, consulte el hardware / ti / omap4xxx / domx / para los componentes de ejemplo y hardware / ti / omap4xx / libstagefrighthw para un ejemplo de plugin para el Galaxy Nexus.

Para añadir sus propios códecs:

  1. Cree sus componentes de acuerdo con la norma componente OpenMAX IL. La interfaz del componente se encuentra en los marcos / nativo / include / / OpenMAX / OMX_Component.h medios archivo. Para obtener más información sobre la especificación OpenMAX IL, consulte el sitio web OpenMAX .
  2. Crear un plugin OpenMAX que une sus componentes con el servicio Stagefright. Ver los marcos / nativo / include / media / hardware / OMXPluginBase.h y HardwareAPI.h archivos de cabecera para las interfaces para crear el complemento.
  3. Construye tu plugin como una biblioteca compartida con el nombre libstagefrighthw.so en su producto Makefile. Por ejemplo:
    LOCAL_MODULE : = libstagefrighthw

    En Makefile de su dispositivo, asegúrese de que usted declara el módulo como un paquete de producto:

    PRODUCT_PACKAGES + =  \ 
      libstagefrighthw \ 
      ...

La exposición de Codecs al Marco


El servicio Stagefright analiza el sistema / etc / media_codecs.xml y sistema / etc / media_profiles.xmlpara exponer los codecs y perfiles soportados en el dispositivo a los desarrolladores de aplicaciones a través de los android.media.MediaCodecList y android.media.CamcorderProfile clases. Es necesario crear ambos archivos en el dispositivo <company_name> / / / <DEVICE_NAME> directorio y copiar esto a la imagen del sistema del sistema / etc directorio en el Makefile de su dispositivo. Por ejemplo:

PRODUCT_COPY_FILES +=  \ 
  device / samsung / tuna / media_profiles . xml : system / etc / media_profiles . xml \ 
  device / samsung / tuna / media_codecs . xml : system / etc / media_codecs . xml \

Ver el dispositivo / samsung / atún / media_codecs.xml y media_profiles.xml dispositivo / samsung / atún / archivo para ejemplos completos.

Nota: El <Quirk> elemento para códecs multimedia ya no es compatible con Android

Para estar informado de los últimos artículos, suscríbase:
Comentarios

Ir arriba