FORMATOS DE AUDIO Y VIDEO

 

Formatos de audio y vídeo

Una de las principales características de los dispositivos móviles es la gran heterogeneidad que existe entre los dispositivos existentes. Una de las repercusiones de este hecho es la necesidad de diseñar interfaces que se adapten a los diferentes tipos de pantalla (conocido como diseño responsive). Esto también tiene una fuerte repercusión en las funcionalidades multimedia de las aplicaciones. Deberemos ser capaces de proporcionar audio y vídeo compatible y de calidad.




Audio y vídeo en dispositivos móviles

Existen diferentes formas de llevar audio y vídeo a los dispositivos móviles:

  • Streaming: El contenido multimedia se reproduce de forma remota. Se obtienen pequeños fragmentos del medio conforme se reproduce, pero nunca se llega a descargar un fichero entero.

  • Descarga progresiva: Descargamos un fichero de audio o vídeo mediante HTTP. El contenido multimedia se puede reproducir mientras se descarga el fichero.

  • Podcast: Contienen contenido episódico. Encontramos diferentes aplicaciones que nos permiten suscribirnos a podcasts, y que se encargarán de descargar los últimos episodios de forma automática cuando contemos con red WiFi. De esta forma podremos reproducirlos offline posteriormente.

  • Incluido en la aplicación: Podemos distribuir ficheros de audio y vídeo con nuestras aplicaciones. En este caso no hará falta conectar a Internet para reproducir los medios, estarán almacenados localmente.

En esta lista podemos ver ordenadas las formas de suministrar el contenido multimedia desde la más remota a la más local. Independientemente de cuál de estos mecanismos vayamos a utilizar, en primer lugar lo más importante será establecer un formato adecuado para el audio y el vídeo.

Copiar vídeos a la tarjeta SD

En esta sección veremos la manera de añadir archivos a la tarjeta de memoria de nuestro dispositivo virtual Android, de tal forma que podamos almacenar clips de vídeo. Se deben seguir los siguientes pasos:

  • En primer lugar el emulador debe encontrarse en funcionamiento, y por supuesto, el dispositivo emulado debe hacer uso de una tarjeta SD.

  • En Android Studio debemos abrir la ventana Android Device Monitor . Para ello hacemos uso de la opción Tools > Android > Android Device Monitor


    En primer lugar vamos a estudiar los formatos soportados por cada plataforma, sus características, y cuáles son los más adecuados a utilizar en cada caso.

    Entre los formatos de audio soportados en iOS encontramos formatos con un sistema de compresión complejo para el cual contamos con hardware específico que se encarga de realizar la descompresión, y de esta forma liberar la CPU de esta tarea. Estos formatos son:

    • AAC (MPEG-4 Advanced Audio Coding)

    • ALAC (Apple Lossless)

    • HE-AAC (MPEG-4 High Efficiency AAC, sin descompresor software)

    • MP3 (MPEG-1 audio layer 3)

    Con estos formatos podemos conseguir un alto nivel de compresión, y gracias al hardware de descompresión con el que está equipado el dispositivo pueden reproducirse de forma eficiente sin bloquear otras tareas. Sin embargo, dicho hardware sólo puede soportar la reproducción simultánea de un fichero de audio.

    Si queremos reproducir varios ficheros simultáneamente, el resto de ficheros deberán ser descomprimidos por software, lo cuál supone una gran carga para la CPU. Debemos evitar que esto ocurra. Por lo tanto, los formatos anteriores deberán ser utilizados únicamente cuando no se vaya a reproducir más de un fichero de estos tipos simultáneamente.

    Por otro lado, contamos con soporte para formatos sin compresión, o con una compresión sencilla. Estos formatos son:

    • Linear PCM (sin compresión)

    • IMA4 (IMA/ADPCM)

    • iLBC (internet Low Bitrate Codec, formato para transmisión del habla)

    • µ-law and a-law

    En estos casos no hay ningún problema en reproducir varios ficheros simultáneamente, ya que o no es necesarios descomprimirlos, como el caso de PCM, o su descompresión no supone apenas carga para la CPU, como el resto de casos.

    Si no tenemos problemas de espacio, el formato PCM será el más adecuado, concretamente el tipo LEI16 (Little-Endian Integer 16-bit). En caso contrario, podemos utilizar AAC para la música de fondo (una única instancia simultánea, ya que se descodifica por hardware), e IMA4 para los efectos especiales, ya que nos permite reproducir varias instancias simultáneas con un bajo coste.

    Podemos utilizar también diferentes tipos de fichero para el audio, como .wav, .mp3, .aac, .aiff o .caf. El tipo de fichero preferido es este último (.caf, Core Audio File Format), ya que puede contener cualquier codificación de audio de las vistas anteriormente.

    Los formatos de video soportados son todos aquellos ficheros con extension mov, mp4, m4v, y 3gp que cumplan las siguientes restricciones de codificación:

    • H.264, hasta 1.5 Mbps, 640 x 480, 30 fps, versión de baja complejidad del H.264 Baseline Profile con

      audio AAC-LC de hasta 160 Kbps, 48 kHz, stereo

    • H.264, hasta 768 Kbps, 320 x 240, 30 fps, Baseline Profile hasta nivel 1.3 con audio AAC-LC de hasta

      160 Kbps, 48 kHz, stereo

    • MPEG-4, hasta 2.5 Mbps, 640 x 480, 30 frames per second, Simple Profile con audio AAC-LC de hasta 160 Kbps,

      48 kHz, stereo

    Estos formatos están soportados por todos los dispositivos iOS. A partir de iPhone 4 y iPad se soportan además:

    • H.264 hasta 720p, 30 fps, Main Profile nivel 3.1. Audio AAC-LC de hasta 160 Kbps, 48kHz, stereo.

    A partir de iPhone 5 se añade:

    • H.264 hasta 1080p, 30 fps, High Profile nivel 4.1. Audio AAC-LC de hasta 160 Kbps, 48kHz, Formatos de audio y vídeo en Android

    Android incorpora la posibilidad de reproducir tanto audio como vídeo en diversos formatos. Los formatos de audio soportados son los siguientes:

    • AAC LC/LT

    • HE-AACv1 (AAC+)

    • HE-AACv2 (Enhanced ACC+)

    • AAC ELD

    • AMR-NB

    • AMR-WB

    • FLAC

    • MP3

    • MIDI

    • Ogg Vorbis

    • PCM/Wave

    Con respecto al vídeo, los formatos soportados son:

    • H.263

    • H.264 AVC

    • MPEG-4 SP

    • VP8

    Perfiles de audio y vídeo

    A partir de la información anterior es difícil establecer un perfil general de vídeo que esté soportado por todos los dispositivos y al mismo tiempo aproveche sus características, pero si que podemos obtener una serie de perfiles orientados a determinadas familia de dispositivos.

    Podemos observar que la codificación de vídeo y audio que mayor compatibilidad y calidad nos proporciona es H.264 y AAC respectivamente. Por lo tanto, basaremos los perfiles en estos codecs.

    Si queremos tener vídeo compatible con la mayoría de los dispositivos actuales podemos utilizar un perfil como el siguiente:

    • Vídeo H.264 Baseline profile

      ** Resolución de 480 x 320

      ** Framerate de 30 fps

      ** _Bitrate de 1500 kbps

    • Audio AAC

      ** Sample rate de 44100 kHz

      ** Bitrate de 128 kbps


    • Perfil de alta calidad

    El perfil anterior no aprovechará las características de aquellos dispositivos que soporten vídeo HD. Por ello es conveniente definir otro perfil para los dispositivos más avanzados:

    • Vídeo H.264 Baseline profile

      ** Resolución de 1280 x 720

      ** Framerate de 30 fps

      ** _Bitrate de 5000 kbps

    • Audio AAC

      ** Sample rate de 48000 kHz

      ** Bitrate de 160 kbps


    • Perfil para dispositivos legacy

    Normalmente con los dos perfiles anteriores debería ser suficiente, pero en algunos casos puede interesarnos también dirigirnos a dispositivos legacy (no smartphones). En este caso podemos crear un perfil limitado como el siguiente:

    • Vídeo 3GP, codificación MPEG-4 (parte 2)

      ** Resolución entre 176 x 144 y 320 x 240

      ** Framerate entre 5 y 15 fps

      ** _Bitrate entre 52 y 192 kbps

    • Audio AAC-LC (Low Complexity)

      ** Sample rate de 16000 kHz

      ** Bitrate entre 16 y 24 kbps

    • AAC (MPEG-4 Advanced Audio Coding)



  • Perfil general

Comentarios

Entradas populares