Adeus, Flash.
Olá, HTML5.
Do player monolítico ao extensível por micro módulos
O quê ? por quê ? como ?
O quê ? por quê ? como ?
suporte manutenções + features
O quê ? por quê ? como ?
O quê ? por quê ? como ?
O quê ? por quê ? como ?
● Introdução
● Como
○ Sem downtime e mudanças no cliente
○ Feita em fases
○ Isolamento
○ multi-browser
● Arquitetura
● 99% mas aquele 1% é Flash
● Conclusões
O que é o player?
ComponenteWidget
APIUX
Produto Plataforma
Produto
Plataforma
Complexidades :: além de tocar vídeo
ads autenticação autorização
n formatos distribuição n devices
proteção instrumentação ...
Quem são os clientes?
...
Migração :: Sem mudança no cliente
Clientes
<script src=”p.min.js”></script>
Migração :: Zero downtime
Cache-control: public, max-age=3600
Cache-control: public, max-age=120
Cache-control: public, max-age=0
Migração :: Faseada
✓
Migração :: Isolamento
Player JS (DOM) Player Flash (Sandboxed)
Migração :: Isolamento
Migração :: Isolamento
<iframe></iframe>
Migração :: Isolamento (page render)
Migração :: Multi-browser
● Busque o mais simples possível
● O isolamento já ajuda
● Testes rodando em múltiplos browser (yes IE)
● Use caniuse.com (Known issues também)
● SVG ao invés de fonts
● Sem bala de prata
● Busque os browsers com uso considerável
Arquitetura :: Rascunhos
00 99
core
media control
container
playback
<mp4> <hls> <dash>
Arquitetura :: Plugins
Clappr :: Comunidade contribuindo e usando
Clappr :: Multicamera
Clappr :: 3D
Clappr :: 3D (WebGLRenderer)
Clappr :: P2P (WebRTC)
Arquitetura :: Webpack
Arquitetura :: ES6
Arquitetura :: Como substituir o Flash?
Playback
Hls
(hls.js)
(tag video)
Flash
(flashls)
(flash)
Html5Video
(tag video)
Android, iOS, Safari
playlist.m3u8
FF >= 43, Chrome >= 45, Safari >
9, Edge, IE11, android >= 4.4.4
...
Hls
(hls.js)
(tag video)
1
2
3
HLS.js baseado em MediaSource (html5)
Clappr
Player Globo :: Extensão do Clappr
Media
Control
Propaganda
UI
Autent.
API
DRM
UX
Autor.
Mas aquele 1% é Flash
DRM
Conclusões
● Facilidade de manutenção e introdução de novas
features
● Maior rapidez na inicialização
● Comunidade trabalha ao seu favor
● Fazer em fases é essencial
● Não confie em third party
● Foque nos browsers com maior adoção
● Isole tudo
Feedbacks
E isso tudo para …
Links
● https://github.com/clappr/clappr
● https://github.com/dailymotion/hls.js
● https://developer.mozilla.org/en-
US/docs/Web/API/MediaSource
● https://github.com/thiagopnts/video-360
● https://github.com/streamroot/clappr-p2phls-plugin
● https://github.com/tjenkinson/clappr-thumbnails-plugin
● http://leandromoreira.com.br/

Globo.com - migração do player flash para html5