MPEG-4
Transcripción
MPEG-4
Servicios Multimedia para Dispositivos Móviles Tema 3: Audio y vídeo Formatos de codificación de audio y vídeo © 2013-2014 Depto. Ciencia de la Computación e IA Formatos de codificación de audio y vídeo Puntos a tratar • Formas de transmisión • Formatos soportados • Podcasts SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 2 Formatos de codificación de audio y vídeo Audio y vídeo en dispositivos móviles • Hay distintas formas de hacer llegar estos medios al móvil • Streaming Emisión de vídeo en directo • Descarga progresiva Podemos reproducir el vídeo mientras se descarga • Podcast El dispositivo se sincroniza con nuestras suscripciones • Integrado en aplicaciones El contenido se distribuye dentro de una aplicación SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 3 Formatos de codificación de audio y vídeo TV móvil • Estándar DVB-H en Europa • • • • Basado en DVB-T Extensiones para móviles Time-slicing (permite ahorrar batería) Dispositivos en movimiento • Comparte frecuencias con DVB-T • VHF III • UHF IV/V • Pueden compartir un mismo multiplex SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 4 Formatos de codificación de audio y vídeo TV en Internet • Uso de streaming para retransmitir contenidos • Los dispositivos cuentan con acceso a Internet de banda ancha • Aplicaciones para diferentes plataformas SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 5 Formatos de codificación de audio y vídeo Plataforma YouTube SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 6 Formatos de codificación de audio y vídeo Formatos de audio con compresión (iOS) • Contamos con hardware de descompresión • • • • AAC (MPEG-4 Advanced Audio Coding) ALAC (Apple Lossless) HE-AAC (MPEG-4 High Efficiency AAC, no software) MP3 (MPEG-1 audio layer 3) • El hardware sólo puede reproducir un fichero simultáneo • Un segundo fichero se reproduciría por software • Esto resulta demasiado costoso • Útil para reproductores de música SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 7 Formatos de codificación de audio y vídeo Formatos de audio sin compresión (iOS) • Sin compresión o con compresión simple • No es necesario hardware específico • Se pueden reproducir por software con escaso coste • Formatos soportados: • • • • Linear PCM (sin compresión) IMA4 (IMA/ADPCM) iLBC (internet Low Bitrate Codec) µ-law y a-law • Permiten reproducir varios sonidos simultáneos con escaso coste • Útil para efectos de sonido SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 8 Formatos de codificación de audio y vídeo Formatos de fichero (iOS) • Podemos reproducir ficheros de audio de diferentes tipos • • • • • .wav .mp3 .aac .aiff .caf • El formato preferido es CAFF (Core Audio File Format) • Puede contener cualquiera de las codificaciones anteriores SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 9 Formatos de codificación de audio y vídeo Formatos preferidos (iOS) • PCM Little-Endian Integer 16-bit (LEI16) • Empaquetado en un fichero CAFF • Si hay problema de espacio • AAC para música de fondo • IMA4 para efectos de sonido • Herramientas afconvert, afinfo, afplay afconvert -‐d [out data format] -‐f [out file format] [in file] [out file] • Por ejemplo, para PCM LEI16 en CAFF: afconvert -‐f caff -‐d LEI16 sonido.wav sonido.caf SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 10 Formatos de codificación de audio y vídeo Formatos de audio soportados (Android) • AAC, HE-AACv1, HE-AACv2 3gp, mp4, m4a, aac (3.1+), ts (3.0+) • AMR-NB, AMR-WB 3gp • Vorbis ogg, mkv (4.0+) • PCM wav • FLAC (3.1+) • MP3 • MIDI SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 11 Formatos de codificación de audio y vídeo Estándares de vídeo • Conjunto de especificaciones MPEG-4 • Parte 2 (Visual, implementado en DivX, Xvid), compatible con H.263 • Parte 10 (MPEG-4 AVC, Advance Video Coding), igual que H.264 • Parte 14 (Formato de fichero .mp4) • ITU-T serie H (Sistemas audiovisuales y multimedia) • H.263 (bajo bitrate para videoconferencia) • H.264 (alta calidad con menor bitrate) • On2Technologies (Google) • • • • VP8 (formato de codificación abierto) Licencia Creative Commons libvpx codifica en este formato (licencia BSD) Formato .webm (Video VP8 + Audio Vorbis) SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 12 Formatos de codificación de audio y vídeo Formatos de vídeo (iOS) • Soporta ficheros mov, mp4, m4v y 3gp • Formatos de codificación soportados • H.264, hasta 1.5 Mbps, 640 x 480, 30 fps, versión de baja complejidad del H.264 Baseline Profile (no es estándar). Audio AACLC de hasta 160 Kbps, 48 kHz, stereo • H.264, hasta 768 Kbps, 320 x 240, 30 fps, Baseline Profile hasta nivel 1.3. 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. Audio AAC-LC de hasta 160 Kbps, 48 kHz, stereo SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 13 Formatos de codificación de audio y vídeo Formatos de vídeo avanzados (iOS) • Los dispositivos modernos soportan mayores resoluciones • • • • • • iPhone hasta 3GS: 480x320 iPhone 4/4S: 960x640 iPhone 5/5S: 1136x640 iPad / iPad mini: 1024x768 iPad retina / iPad mini retina: 2048x1536 Apple TV: 1920x1080 • A partir de iPhone 4/iPad se admiten nuevos formatos • H.264 hasta 720p, 30 fps, Main Profile nivel 3.1. Audio AAC-LC de hasta 160 Kbps, 48kHz, stereo (.m4v, .mp4, y .mov) • A partir de iPhone 5 • H.264 hasta 1080p, 30 fps, High Profile nivel 4.1. Audio AAC-LC de hasta 160 Kbps, 48kHz, stereo (.m4v, .mp4, y .mov) SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 14 Formatos de codificación de audio y vídeo Formatos de vídeo (Android) • H.263 3pg, mp4 • H.264 / MPEG 4-AVC Baseline Profile 3gp, mp4, ts (3.0+) • MPEG-4 SP (Simple Profile) 3gp • VP8 (Android 2.3.3+) webm, mkv (4.0+) SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 15 Formatos de codificación de audio y vídeo Perfil de vídeo general • La codificación H.264 es soportada por la mayoría de dispositivos • Para asegurarnos de que funcione en la mayor parte de smartphones podemos usar: • • • • • • • H.264 Baseline Profile Resolución 480 x 320 Framerate máximo de 30 fps Bitrate máximo de vídeo 1500 kbps Audio AAC Sample rate de audio 44100 kHz Bitrate máximo de audio 128 kbps • Funcionará en todos los dispositivos iOS y Android SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 16 Formatos de codificación de audio y vídeo Perfil de vídeo de alta calidad • El perfil anterior desaprovecha las características de dispositivos como iPhone 4 y iPad • Podemos crear otro perfil para aprovechar estos dispositivos: • • • • Vídeo H.264 Baseline Profile Resolución 1280 x 720 Framerate máximo de 30 fps Bitrate máximo de vídeo 5000 kbps • Audio AAC • Sample rate de audio 48000 kHz • Bitrate máximo de audio 160 kbps SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 17 Formatos de codificación de audio y vídeo Perfil de vídeo para dispositivos limitados • Si queremos extender el soporte a dispositivos antiguos, deberemos ofrecer también un perfil de vídeo de menor complejidad que los anteriores: • • • • Fichero 3GP, codificación MPEG-4 (Parte 2) Resolución 176x144 - 320x240 Framerate máximo de 5-15 fps Bitrate máximo de vídeo 52 - 192 kpbs • Audio AAC-LC (Low Complexity) • Sample rate de audio 16000 kHz • Bitrate máximo de audio 16 - 24 kpbs SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 18 Formatos de codificación de audio y vídeo Conversión de video con VLC • Podemos utilizar VLC para convertir vídeo vlc -‐I dummy /<ruta_origen>/video.mpg :sout='#transcode{vcodec=mp2v, vb=4096,acodec=mp2a,ab=192,scale=1,channels=2,deinterlace,audio-‐ sync}:std{access=file,mux=ps,dst=/<ruta_destino>/video.mpg' vlc:// quit • Codecs vb Vídeo bitrate ab Audio bitrate Codec vídeo acodec mp1v MPEG-1 mpga mp2v MPEG-2 MPEG audio mp3 MPEG Layer 3 mp4a MP4 Audio vorb Vorbis vcodec mp4v MPEG-4 H263 H.263 h264 H.264 theo Theora VP8 VP8 Video SMDM Codec audio mux mpeg1 ts ps mp4 avi ogg dummy wav © 2013-2014 Depto. Ciencia de la Computación e IA Tipo fichero MPEG-1 MPEG TS MPEG PS MPEG-4 AVI OGG MP3 WAVE Audio y vídeo 19 Formatos de codificación de audio y vídeo Conversión de video con ffmpeg • Conversión básica ffmpeg -‐i entrada.ext salida.ext • Permite ajustar • Formato de fichero -‐f avi Resolución -‐s 640x480 Fotogramas por segundo Codec de video -‐r 24 Codec de audio -‐c:a / -‐acodec aac Bitrate de video -‐b:v 1500k Bitrate de audio -‐b:a 128k Frecuencia de audio -‐ar 44100 Canales de audio -‐ac 2 Perfil -‐profile:v baseline SMDM -‐c:v / -‐vcodec h264 © 2013-2014 Depto. Ciencia de la Computación e IA Ver ffmpeg -‐formats Ver ffmpeg -‐codecs Audio y vídeo 20 Formatos de codificación de audio y vídeo Ejemplo de conversión con ffmpeg • Conversión a un perfil standard para dispositivos móviles Necesario para utilizar codec experimental aac ffmpeg -‐i entrada.m2ts -‐strict -‐2 -‐vcodec h264 Video -‐s 480x320 -‐b:v 1500k -‐profile:v baseline -‐level 3.0 -‐acodec aac Audio -‐ar 22050 -‐b:a 128k -‐ac 2 El formato de salida queda salida.mp4 implícito en la extensión SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 21 Formatos de codificación de audio y vídeo Perfiles y compatibilidad Perfil Dispositivos Configuración Baseline 3.0 Todos los dispositivos -‐profile:v baseline -‐level 3.0 Baseline 3.1 iPhone 3G -‐profile:v baseline -‐level 3.1 Main 3.1 iPad, iPhone 4 -‐profile:v main -‐level 3.1 Main 4.0 iPad 2, iPhone 4S -‐profile:v main -‐level 4.0 High 4.0 iPad 2, iPhone 4S -‐profile:v high -‐level 4.0 High 4.1 iPad 2, iPhone 4S -‐profile:v high -‐level 4.1 SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 22 Formatos de codificación de audio y vídeo Reproducción de medios en Android • Se utiliza la clase MediaPlayer • Permite reproducir medios desde diferentes fuentes • Dos formas de inicialización • Método create // Recurso de la aplicación MediaPlayer resourcePlayer = MediaPlayer.create(appContext, R.raw.my_audio); // Fichero local (en la tarjeta de memoria) MediaPlayer filePlayer = MediaPlayer.create(appContext, Uri.parse("file:///sdcard/localfile.mp3")); // URL MediaPlayer urlPlayer = MediaPlayer.create(appContext, Uri.parse("http://site.com/audio/audio.mp3")); // Proveedor de contenido MediaPlayer contentPlayer = MediaPlayer.create(appContext, Settings.System.DEFAULT_RINGTONE_URI); • Método setDataSource MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource("/sdcard/test.mp3"); mediaPlayer.prepare(); SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 23 FormatosUniversitario de codificación de audio vídeo Especialista en Desarrollo de yAplicaciones para Dispositivos Móviles Estados del reproductor en Android Reproducir audio con MediaPlayer SMDM Gráficos y multimedia © 2013-2014Depto. Depto. Ciencia Ciencia de de la la Computación © 2011-2012 Computación ee IA IA Audio y vídeo- 4 24 Reproducción Android Formatos de codificación de audio y vídeo Control de reproducción de audio • Otros métodos • Control de repetición if (!mediaPlayer.isLooping()) mediaPlayer.setLooping(true); • Activación de pantalla mediaPlayer.setScreenOnWhilePlaying(true); • Volumen mediaPlayer.setVolume(1f, 0.5f); • Duración mediaPlayer.start(); int pos = mediaPlayer.getCurrentPosition(); int duration = mediaPlayer.getDuration(); mediaPlayer.seekTo(pos + (duration-‐pos)/10); SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 25 Formatos de codificación de audio y vídeo Reproducción de video con VideoView • Similar a la reproducción de audio, excepto • Se necesita una superficie sobre la que reproducir <VideoView android:id="@+id/superficie" android:layout_height="fill_parent" android:layout_width="fill_parent"> </VideoView> • Vista VideoView encapsula • Superficie sobre la que reproducir • Objeto MediaPlayer videoView1.setVideoURI(Uri.parse("http://www.mysite.com/videos/myvideo.3gp")); videoView2.setVideoPath("/sdcard/test2.3gp"); videoView3.setVideoURI(Uri.parse("android.resource://es.ua.dccia/" + R.raw.video_qtp)); SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 26 Formatos de codificación de audio y vídeo Control de reproducción • • • • • setKeepScreenOn start stopPlayback pause seekTo VideoView videoView = (VideoView)findViewById(R.id.superficie); videoView.setKeepScreenOn(true); videoView.setVideoPath("/sdcard/ejemplo.3gp"); if (videoView.canSeekForward()) videoView.seekTo(videoView.getDuration()/2); videoView.start(); // Hacer algo durante la reproducción videoView.stopPlayback(); SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 27 Formatos de codificación de audio y vídeo ¿Preguntas...? SMDM © 2013-2014 Depto. Ciencia de la Computación e IA Audio y vídeo 28