28
ANDROID EXOPLAYER APLICAÇÕES COM TRANSMISSÃO DE VÍDEO UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE COMPUTAÇÃO ANÁLISE E TRATAMENTO DE IMAGENS E VÍDEOS DIGITAIS Copyright ©2017 • All Rights Reserved • CRUZ JR, A. C. V.

EXOPLAYER ANDROID - cavmelo.files.wordpress.com · Hora de Programar Crie um novo projeto no Android Studio (API 16+) Importar library ExoPlayer Compile ‘com.google.android.exoplayer:exoplayer:r2.1.1’

  • Upload
    lamhanh

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

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■

1.ANDROID

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

2.DESENVOLVIMENTO ANDROID

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

3.EXOPLAYER

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

3.HORA DE PROGRAMAR!

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

Editando o Layout

Montando o Player Básico

Adicionando permissões

Pronto!

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