ANDROIDEXOPLAYERAPLICAÇÕES COM TRANSMISSÃO DE VÍDEO
UNIVERSIDADE FEDERAL DO AMAZONASINSTITUTO DE COMPUTAÇÃO
ANÁLISE E TRATAMENTO DE IMAGENS E VÍDEOS DIGITAIS
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
SUMÁRIO
● INTRODUÇÃO■ Android■ Desenvolvimento Android■ ExoPlayer
● HORA DE PROGRAMAR!■ Criando um novo projeto Android (“Hello World”)■ Importando o ExoPlayer■ Importando o framework VodPlayer■
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
O que é?● Sistema Operacional baseado em Linux● Desenvolvido pela Google● Roda em 82% dos smartphones do mundo[1]
● Atualmente, encontra-se também em:Computadores, TVs, Relógios, Óculos, Geladeiras...
ANDROID
[1] http://www.gartner.com/newsroom/id/3115517
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Ambiente de Desenvolvimento Integrado (IDE) para Android● Anunciado em 2013, hoje está em sua versão 2.2● É baseado no software Intellij IDEA da JetBrains
ANDROID STUDIO
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
Como Instalar? (https://developer.android.com/studio/index.html?hl=pt-br)
ANDROID STUDIO
O que é necessário?● Mínimo de 3 GB de RAM, recomendável 8GB.● Mínimo de 2 GB de espaço em disco. 4GB recomendável.● Windows, Linux (Gnome ou KDE) ou Mac OS X
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Player Android que provê de forma simples uma reprodução Multimídia;
● Até o Android Ice Cream Sandwich (4.0), era a única forma de reproduzir mídia no Android
● Oculta todo o funcionamento interno do player.
MEDIAPLAYER
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
A partir do Jelly Bean (4.1), o Android provê novas APIs de manipulação de mídia em baixo nível:● MediaExtractor● MediaCodec● MediaCrypto
Isto tornou possível construir um player personalizado, mas…
API de baixo Nível = É necessário programar todo o player, desde o download da mídia, renderização até a reprodução.
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Dois extremos:■ Caso 1:
● Implementação fácil e rápida● Controle mínimo sobre o player
■ Caso 2:● Controle total sobre o player● Implementação complexa e custosa
MEDIAPLAYER MediaCodecMediaExtractorMediaCrypto
Baixo-NívelAlto-Nível
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Dois extremos:■ Caso 1:
● Implementação fácil e rápida● Controle mínimo sobre o player
■ Caso 2:● Controle total sobre o player● Implementação complexa e custosa
MEDIAPLAYER MediaCodecMediaExtractorMediaCrypto
Baixo-NívelAlto-Nível
Solução?
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● O ExoPlayer é um meio termo entre os dois extremos na utilização de mídias no Android.
● Projeto open-source desenvolvido pela Google
● Ele fornece uma implementação flexível de todas as etapas de reprodução de uma mídia:- Conexão, ‘Bufferização’, Decodificação, Renderização…
● Oferece reproduções adaptativas DASH, HLS e Smooth.
● Utilizado pelo Youtube, GooglePlay Films e TvUFAM play.
MEDIAPLAYER MediaCodecMediaExtractorMediaCrypto
EXOPLAYERBaixo-NívelAlto-Nível
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● Disponibilizado para ser o player de mídia oficial do Android.
● É compatível com versões Android API 16 ou acima.
● É possível modificar e adequar às suas necessidades.
EXOPLAYER
Hora de Programar● Crie um novo projeto no Android Studio (API 16+)● Importar library ExoPlayer
Compile ‘com.google.android.exoplayer:exoplayer:r2.1.1’
VOD PLAYER
● Biblioteca para facilitar o uso do ExoPlayer
● GitHub<https://github.com/juninhocruzg3/VodPlayer>
● Baixe a versão estável mais recente
● Salve o .jar em {PATH}/app/libs
● Nas configurações do projeto, coloque o ,jar como dependência
Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.
● ExoPlayer <https://google.github.io/ExoPlayer/>(Acesso em 8 de Janeiro de 2017)
● Applidium<https://applidium.com/en/news/exoplayer_new_android_media_player/>(Acesso em 8 de Janeiro de 2017)
Referências Bibliográficas