SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
HTML5 ESSENCIAL 
Fundamentos de todo serviço na Web
EMENTA 
• Fundamentos de Web 
• Documentos HTML 
• Conteúdo 
• Multimídia 
• Semântica 
• Desempenho 
3
O QUE VEREMOS AGORA 
• Fundamentos da Web 
• Documentos HTML 
• Conteúdo 
• Multimídia 
• Imagens e objetos 
• Áudio e Vídeo 
• Canvas 
• Imagens vetoriais 
• Semântica 
4
IMAGENS E OBJETOS 
• O HTML5 trouxe também a tag <figure> para 
expressar “ilustrações” 
• É mais uma tag semântica, sem nenhuma expressão estética 
• Apenas representa que em seu conteúdo, estamos querendo 
carregar uma imagem, um gráfico, uma foto, um exemplo 
de código ou qualquer coisa que consideremos ilustração 
de algum assunto que esteja sendo abordado na página. 
• A tag <figcaption> pode vir no conteúdo de 
<figure> 
• Útil para se definir um rótulo para a ilustração demarcada em 
<figure>. 
5
IMAGENS E OBJETOS 
• A tag <img/> é útil para carregar uma imagem 
• Ex.: <img src="imagens/logomarca.png" /> 
• O atributo src é onde inserimos a URL de localização da 
imagem. 
• Dicas 
• Todo atributo src (source), carrega algum conteúdo externo 
na página HTML atual 
• A URL disposta no src pode ser analítica (incluindo desde o 
protocolo. Ex: http://www.especializa.com.br/imagem.jpg) 
• Pode também ser relativa ao local de onde a própria página 
HTML foi requisitada 
• O primeiro exemplo em negrito considerou que no mesmo local onde 
está a página que o escreveu, há um subdiretório imagens com o 
arquivo logomarca.png dentro 
• É o browser quem transforma esse caminho relativo em tag analítica 
6
IMAGENS E OBJETOS 
• Acessibilidade em imagens 
• Imagens são alvos de críticas por dificultar a acessibilidade 
• Não é recomendado o uso de imagens em substituição de conteúdo 
texto por dificultar a vida de buscadores e leitores de tela 
• Felizmente, existem atributos úteis para carregamento de 
informações acerca da imagem carregada 
• alt - Carrega um texto alternativo que aparece quando a 
imagem não é carregada e lido por leitores de tela 
• longdesc - Útil apenas para leitores de tela ou buscadores, é 
o local onde se recomenda trazer mais detalhes sobre a 
imagem 
• Ex.: 
<img src="imagens/foto.png" alt="Foto da fachada da Especializa" 
longdesc="Foto imponente apresentando uma pequena fração das 
luxuosas instalações da Especializa Treinamentos. O céu está claro 
conforme o contrato estabelecido com São Pedro para este 
momento"/> 
7
OBJETOS ESPECIAIS 
• O HTML5 trouxe uma série de novas tags que 
além de recuperar semântica fazem o browser 
renderizar objetos visuais mais elaborados 
• <progress> - Tag que exibe um gráfico de progresso de 
alguma tarefa. 
• Antigamente só possível através de imagens ou CSS. 
• Ex: <progress id="p" value="90" max="100">90</progress> 
• Dessa forma o HTML mantém a semântica da informação e o browser 
exibe um controle de mais alto nível 
• <meter> - Campo semelhante ao progress. 
• A documentação oficial indica que o meter deva ser usado para 
alguma medida e não para andamento 
• O Chrome exibe o <progress> como uma imagem em movimento, o 
<meter> é desenhado estático 
8
OBJETOS PLUGINS 
• Plugins são extensões de browsers para 
finalidades específicas 
• Os principais exemplos de plugins são o Flash Player e os 
players de vídeos como Real Player, Quick Time ou Windows 
Media Player 
• As tags utilizadas para carregar objetos externos são 
<object> e <embed> 
• Ambas podem conter tags <param> em seu interior para 
permitir a passagem de parâmetros para o objeto interno 
• O primeiro plugin criado e usado até hoje foi o 
Applet Java 
• O HTML 4.01 depreciou a tag <applet> e sugeriu o uso de 
<object> no lugar a fim de padronizar 
9
HTML5 AUDIO E VIDEO 
• Até o HTML5 não havia controle padrão para adicionar audio e 
vídeo a uma página 
• Essa atividade era feita por plugins, como o Flash. 
• Hoje existem as tags <audio> e <video> com propriedades 
semelhantes 
• Todos os atributos de <audio> estão presentes em <video>, 
mas esta última possui dados a mais 
• Ambas as tags suportam o atributo src para carregar o 
conteúdo como se faz como imagens (tags <img>) 
• Tags <source>, no interior delas, servem para carregar a 
primeira mídia que o browser suportar da lista. Ex.: 
• <audio autoplay controls loop> 
<source src="midia.mp3"/> 
<source src="midia.aac"/> 
<source src="midia.wav"/> 
</audio> 
10
ARQUIVOS MULTIMIDIA 
• Bitmaps e formatos de imagens 
• Toda imagem pode ser expressa como um mapa de bits 
(.bmp) ou como algum algoritmo que a deixe menor 
• Esses algoritmos podem trazer perdas de qualidade 
• Arquivos .jpg possuem níveis de compressão que vão gradativamente 
perdendo a qualidade à medida que se aumente a compressão 
• Trilhas de audio e video 
• Vídeos são sequências de imagens que trocam rápido o 
suficiente pro olho humano enxergar um movimento fluido 
• Em geral algo em 20 e 30 frames por segundo (FPS) 
• Gravações de áudio e de vídeo podem ser compactadas 
usando algoritmos chamados codecs 
• Ex.: Audio - Ogg Vorbis, MP3, AC3 (Dolby), WAV, WMA, etc 
• Ex: Video - x263, x264, Divx, xVid, Ogg Theora 
11
ARQUIVOS MULTIMIDIA 
• Arquivos de vídeo podem conter mais de uma trilha de vídeo, 
de áudio e até de legenda. 
• Esses arquivos são chamados de formatos ou de containers e 
os mais populares são avi, mp4, wmv, rmvb, mkv e mais 
recentemente o que foi criado na tentativa de padronizar as 
coisas no HTML5, WebM. 
• Além de mais compactos, mais leves, alguns containers também são 
mais limitados do que outros, podendo suportar ou não legenda ou 
escolha de mais de uma faixa de audio (para dublagens, por exemplo) 
• Existe ainda uma tabela de compatibilidade entre containers e codecs. 
Nem todo container é capaz de abarcar trilhas de audio ou de vídeo 
compactada por certos codecs 
• Devido a essa guerra, os browsers apresentam também suportes 
diferentes para codecs e containers, daí a necessidade de se ter mais 
de uma tag <source> por elemento <audio> ou <video> 
• O plugin do Flash dos browsers popularizou o formato .flv mas 
seu uso aos poucos está sendo desencorajado em favor do 
padrão de vídeo do HTML5 
12
ARQUIVOS MULTIMIDIA 
• Padrões de compactação de audio e vídeo 
• H.261. Criado em 1991, foi o primeiro grande padrão de 
compactação de vídeo digital 
• MPEG-1 Parte 2. Baseado no H.261, foi criado no intuito de 
possibilitar vídeos com qualidade VHS caberem em CDs 
• MPEG-2 Parte 2 ou H.262. Formato inicialmente padrão dos DVDs e 
das TVs digitais, que o estão trocando pelo MPEG-4 
• H.263. Padrão utilizado por vídeos Flash que se preocupam mais com 
a compactação do que com a qualidade final 
• MPEG-4. Projeto guarda-chuva criado para estabelecer subpadrões 
de acordo com ambiente onde quer transmitir o vídeo 
• MPEG-4 Parte 2. Padrão utilizado por codecs como o Divx. 
• MPEG-4 Parte 10 ou H.264. Padrão preferido da Apple e do Google 
para transmissão na Internet. É também reconhecido por 
equipamentos domésticos e tem a fama de proporcionar alta 
qualidade em pequenos tamanhos finais de arquivos 
13
ARQUIVOS MULTIMIDIA 
• Codecs de audio 
• AC3 - Dolby Digital. Suporta até 6 faixas de audio. Bom para 
sistemas surround de home theaters. 
• Ogg Vorbis. Possui uma ótima relação de compactação x perda de 
qualidade. Open source e totalmente livre de patentes. 
• MP3 - MPEG-1 Audio Layer 3. Disparadamente o codec mais 
popular, sobretudo por ser distribuída e arquivos de próprio nome 
como faixa órfã. Pouca gente sabe, mas não é um formato livre de 
patentes 
• Codecs de vídeo 
• DivX. Muito utilizada em containers AVI. Já é reconhecida pela maioria 
dos DVD Players caseiros. Possui uma boa taxa de compactação 
mesmo com qualidade próxima de DVDs 
• XViD. Semelhante a anterior, mas de código aberto e também 
bastante popular 
• VP8. Codec da On2, empresa comprada pelo Google, que logo tratou 
de anunciar a abertura de seu código fonte e sugerir seu uso como 
padrão de vídeo na web (WebM) 
14
ARQUIVOS MULTIMIDIA 
• Containers 
• AVI (Audio Video Interleave). Um dos formatos mais populares de vídeos 
• MP4 (MPEG-4 Parte 14). Container padrão para formatos MPEG-4 
• FLV (Flash Video). Container da Adobe para vídeos MPEG-4 em Flash 
• MOV. Container do QuickTime da Apple 
• OGG, OGM e OGV. Containers de código aberto 
• MKV (Matroska). Container de código aberto considerado por muita 
gente como o melhor e mais versátil na atualidade 
• VOB (DVD Video Object). Container padrão de arquivos de DVDs 
• ASF. Container da Microsoft para arquivos .wma, .wmv ou .asf 
• WebM (Web Media). Sugerido por Google, Opera e Mozilla para oficializar 
um formato para a Web sem variações de codecs 
• Utiliza necessariamente o Codec de vídeo VP8 e de audio Ogg Vorbis 
em containers MKV salvos, em geral, com a extesão .webm 
15
TIPOS DE ARQUIVOS 
• Confira a lista de compatibilidades 
• Entre no site http://fmbip.com e verifique o que o seu browsers 
suporta 
16
TIPOS DE ARQUIVOS 
• Confira a lista de compatibilidades 
• Entre no site http://fmbip.com e verifique o que o seu browsers 
suporta 
16
AUDIO 
• Atributos presentes na tag <audio>: 
• controls: Sua presença exibe controles de play/pause, 
andamento e volume como o acima. 
• src: Define o caminho do arquivo. Melhor utilizar nas tags 
internas <source>. 
• autoplay: Determina se a mídia será tocada assim que a 
página for carregada, sem precisar de ação do usuário 
• preload: Manda o browser ir carregando a mídia antes do 
usuário clicar em play e se a mídia estar em autoplay. 
• loop: Determina o reinício automático quando a mídia concluir 
17
VIDEO 
• A tag <video> funciona de modo semelhante 
embora possua alguns atributos a mais: 
• width e height - para definir respectivamente largura e altura 
em pixels do vídeo 
• poster - URL para uma imagem que será a capa do vídeo 
18
CONTEUDO DAS TAGS 
• no interior das tags <audio> e <video> é 
possível, definir algo que só será lido por 
browsers que não as suportarem 
• <video> 
<source src="Video.mp4" type="video/mp4"/> 
<source src="Video.webm" type="video/webm"/> 
Você chama isso de browser? Joga ele no mar! 
Ele não entende MP4 nem WebM. 
</video> 
• Vídeos podem ter seus mime types explicitados 
• Perceba no exemplo acima a presença do atributo type em 
cada tag <source>. 
• Além de <source>, as tags de audio e vídeo 
podem conter tags <track> que veremos a 
seguir 
19
MEDIA TRACKS 
• Tanto audio quanto vídeo trazem um conceito 
poderoso, mas ainda muito novo em 
desenvolvimento chamado Media Tracks 
• Para adicionar uma media track, defina uma tag <track> no 
interior de uma tag de <video>, por exemplo: 
• <video> 
<source src="exemplo.webm" type="video/webm"/> 
<track kind="subtitles" src="legenda.srt"/> 
</video> 
• O código acima se propõe a carregar um arquivo de legenda 
enquanto exibe o vídeo 
• Os primeiros browsers a suportar <track> são Chrome 18 e 
Internet Explorer 10 
• Para habilitar o suporte a tracks no Chrome acesse o endereço chrome://flags e habilite a opção Enable <track> element. 
• Sua alteração só terá efeito após reiniciar o browser 
20
MEDIA TRACKS 
• Confira a lista de kinds permitidos em tracks 
• subtitles - Traduções do audio. As famosas legendas que 
acompanham os vídeos. Mais aplicáveis a sons audíveis mas 
ininteligíveis como o fala em outro idioma. 
• captions - Transcrições do audio. Mais aplicáveis a fatos de 
vídeo que devam ser descritos para quem não tenha 
condições de ouvir, mesmo que momentaneamente 
• descriptions - Transcrições do vídeo. Úteis para quem não 
tenha condições de ver o que passa no vídeo e deseja saber o 
que está sendo apresentado 
• chapters - Marcações de capítulos. Útil para a navegação a 
determinadas partes do vídeo 
• metadata - Faixas com a finalidade exclusiva de prover 
informações para scripts ouvintes do andamento do vídeo 
21
MATRIZ DE BROWSERS 
• Vantagens de cada browser 
• O browser que suporta a maior variedade de formatos é o Safari 
• O Firefox e o Opera só suportam WebM, mas o IE não 
• O IE suporta .mp4 com codec de vídeo h.264 e vídeo AAC (ou mp3) 
• O controle padrão mais evoluído é o do Firefox 
• Dá play/pause no vídeo ao clicar na imagem ou teclar espaço 
• Avança e retrocede o vídeo com as setas 
• O IE também tem alguma funcionalidade implementada através do teclado 
• Só quem tem botão fullscreen é o Firefox e o Safari 
• O browser mais evoluído no uso de <track> é o Chrome 
• Browsers testados 
• Chrome 18, Safari 5.1, Opera 11.61, Firefox 11, IE 9 
22
AUDIO E VIDEO 
• Links úteis sobre audio e vídeo no HTML5 
• http://dev.opera.com/articles/view/everything-you-need-to-know- 
about-html5-video-and-audio/ 
• http://www.longtailvideo.com/html5/ 
• http://html5videoguide.net/presentations/WebVTT/#landing-slide 
• http://www.html5rocks.com/en/tutorials/track/basics/ 
• http://www.tutorialspoint.com/html5/html5_audio_video.htm 
• http://html5doctor.com/native-audio-in-the-browser/ 
23
CANVAS 
• O HTML5 trouxe o conceito de canvas, para 
manipulação de bitmaps de imagens 
dinamicamente (via Javascript) em documentos 
HTML 
• A tag <canvas> é o container da imagem a ser trabalhada na 
tela 
• Até o Internet Explorer (desde o 9) é capaz de entender canvas 
• É possível desenhar em 2D e em 3D a partir dos chamados 
contextos do canvas 
• Ex: 
• <canvas id="quadro" width="300" height="300"> Infelizmente seu browser não suporta canvas 
</canvas> 
• Não dá pra falar em canvas sem falar em Javascript 
• Vamos apresentar um exemplo só pra ninguém ficar triste =) 
24
EXEMPLO DE CANVAS 
• Com o exemplo, o usuário 
pode criar uma imagem como 
essa ao lado ----> 
• <script> 
$(function() { 
$('#quadro').click(function(event) { 
var context = this.getContext('2d'); 
context.strokeStyle = '#ABC'; 
context.lineWidth = 3; 
var x = event.pageX - 10; 
var y = event.pageY - 10; 
context.moveTo(x+40,y); 
context.arc(x,y,40,0,Math.PI*2,true); 
context.stroke(); 
}) 
}) 
</script> 
25
SVG 
• Scalable Vector Graphics 
• Gráficos vetoriais escaláveis. 
• Dialeto XML (assim como o próprio HTML) baseado 
nos dialetos PGML, da Adobe e VML da Microsoft 
• É bastante antiga mas seu uso nunca foi tão popular 
• O que é imagem vetorial 
• Imagem bitmap é baseada no cômputo de bytes que informam 
as cores em cada unidade na tela. Ou seja, 3 bits (RGB) para 
cada pixel na tela 
• Imagem vetorial é a interpretação de operações matemáticas 
para montagem desses pontos 
• Ampliar um bitmap causa perda de informação e deformação da 
imagem, já um vetor ampliado é apenas o recálculo sugerido em 
escala maior. Não há perda alguma de informação 
• Vetores maiores ocupam o mesmo espaço em bytes do que os 
menores 
26
SVG 
• Exemplo 
<svg width="100%" height="100%"> 
<circle r="50" cx="100" cy="100" fill="green"/> 
</svg> 
• Esse é o conteúdo do arquivo .svg, para adicioná-lo 
em seu HTML faça o seguinte: 
• Usando object: 
<object src="imagem.svg" classid="image/svg+xml" 
type="image/svg+xml" height="100" width="100" /> 
• Usando embed: 
<embed src="imagem.svg" type="image/svg+xml" 
height="100" width="100" /> 
• Usando img: 
<img src="imagem.svg" height="100" width="100" /> 
27
SVG 
• O HTML5 suporta adicionar SVG inline 
como se faz com canvas 
<body> 
<h1>Exemplo de SVG Inline</h1> 
<svg> 
<circle r="50" cx="100" cy="100" fill="green"/> 
</svg> 
</body> 
28
SVG 
• Exemplos de shapes SVG: 
• Efeitos de estilo podem ser definidos através de atributos ou em 
propriedades do atributo style (como se faz no CSS) 
• Círculo (<circle>) 
• <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> 
• Retângulo (<rect>) 
• <rect width="300" height="100" style="fill:red;stroke-width:1;stroke:black"/> 
• Retângulo com cantos arredondados e transparência 
<rect x="50" y="20" rx="20" ry="20" width="150" 
height="150"style="fill:red;stroke:black;stroke-width:5;opacity:0.5"/> 
• Ellipse (<ellipse>) 
• <ellipse cx="300" cy="80" rx="100" ry="50" style="fill:red;stroke:black;stroke-width: 
2" /> 
29
SVG 
• Exemplos de shapes SVG: 
• Linha (<line>) 
• <line x1="0" y1="0" x2="200" y2="200" style="stroke:rgb(255,0,0);stroke-width: 
2" /> 
• Polígono (<polygon>) 
• Os pontos são valores x,y separados por espaços 
• <polygon points="200,10 250,190 160,210" 
style="fill:lime;stroke:purple;stroke-width:1" /> 
• Linha de múltiplos pontos (<polyline>) 
• <polyline points="20,20 40,25 60,40 80,120 120,140 200,180" 
style="fill:none;stroke:black;stroke-width:3" /> 
• Textos (<text>) 
• <text x="0" y="15" fill="red" transform="rotate(30 20,40)">SVG é Massa!</ 
text> 
30
SVG 
• Há muito mais a falar sobre SVG que em si é 
uma linguagem grande como a própria HTML 
• Textos podem seguir caminhos (textpaths) para serem 
dispostos de forma sinuosa 
• Linhas (strokes) podem ser tracejadas ou pontilhadas 
• É recomendável utilizar um editor de imagens 
que gera arquivos SVG para não ser necessário 
aprender tantas propriedades 
• O primeiro a fazer isso foi o Adobe Illustrator 
31
SVG 
• Há muita informação sobre o assunto na 
Internet, mas separamos um tutorial bem 
didático: 
• http://tutorials.jenkov.com/svg/index.html 
• Há muito a falar sobre Javascript com SVG, 
mas como não é o foco neste curso, 
apresentamos apenas uma biblioteca que 
facilita o trabalho com SVG: 
• Raphael.js - http://raphaeljs.com/ 
32

Weitere ähnliche Inhalte

Was ist angesagt?

HTML 5 A evolução do HTML 4 para o HTML 5
HTML 5 A evolução do HTML 4 para o HTML 5HTML 5 A evolução do HTML 4 para o HTML 5
HTML 5 A evolução do HTML 4 para o HTML 5ondazul
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Renato Bongiorno Bonfanti
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTAndré Luís
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Anderson Aguiar
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBFábio Flatschart
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Jose Augusto Cintra
 
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptFábio Flatschart
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBPeslPinguim
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosFabio Moura Pereira
 

Was ist angesagt? (20)

HTML 5 A evolução do HTML 4 para o HTML 5
HTML 5 A evolução do HTML 4 para o HTML 5HTML 5 A evolução do HTML 4 para o HTML 5
HTML 5 A evolução do HTML 4 para o HTML 5
 
HTML5 CSS3
HTML5 CSS3HTML5 CSS3
HTML5 CSS3
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
HTML5
HTML5HTML5
HTML5
 
Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3
 
Html5 & CSS3
Html5 & CSS3Html5 & CSS3
Html5 & CSS3
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5
 
Html 5 e Css3
Html 5 e Css3Html 5 e Css3
Html 5 e Css3
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Aula 05 - Java Script Básico
Aula 05 -  Java Script BásicoAula 05 -  Java Script Básico
Aula 05 - Java Script Básico
 
Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScript
 
Criação de sites
Criação de sitesCriação de sites
Criação de sites
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEBHTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 

Ähnlich wie HTML5 Fundamentos Multimídia Web

Formatos de áudio
Formatos de áudioFormatos de áudio
Formatos de áudioguiguiass
 
Arquivos e extensão de vídeo
Arquivos e extensão de vídeoArquivos e extensão de vídeo
Arquivos e extensão de vídeoCarlos Henrique
 
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...George Vieira Jr.
 
Codec de áudio e vídeo, transcoders e containers multimídia
Codec de áudio e vídeo, transcoders e containers multimídiaCodec de áudio e vídeo, transcoders e containers multimídia
Codec de áudio e vídeo, transcoders e containers multimídiaLeandro Curioso
 
Conversao formatos codecs_
Conversao formatos codecs_Conversao formatos codecs_
Conversao formatos codecs_grupolv
 
Design Gráfico para Web: HTML 5 - Multimídia
Design Gráfico para Web: HTML 5 - MultimídiaDesign Gráfico para Web: HTML 5 - Multimídia
Design Gráfico para Web: HTML 5 - MultimídiaDra. Camila Hamdan
 
Arquivos de vídeos
Arquivos de vídeosArquivos de vídeos
Arquivos de vídeosmatheusdasg
 
Tipo de vídeo e seus formatos
Tipo de vídeo e seus formatosTipo de vídeo e seus formatos
Tipo de vídeo e seus formatosbarthursilva
 
Softwares Open Source para tratamento de áudio e vídeo aTube Catcher
Softwares Open Source para tratamento de áudio e vídeo aTube CatcherSoftwares Open Source para tratamento de áudio e vídeo aTube Catcher
Softwares Open Source para tratamento de áudio e vídeo aTube CatcherHercules Santos
 
Aprender html5 em 4 passos
Aprender html5 em 4 passosAprender html5 em 4 passos
Aprender html5 em 4 passosJeser Cotrim
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Renato Groff
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Tipos de áudios e seus formatos
Tipos de áudios e seus formatosTipos de áudios e seus formatos
Tipos de áudios e seus formatosguiguiass
 
Arquivos de vídeo e seus formatos
Arquivos de vídeo e seus formatosArquivos de vídeo e seus formatos
Arquivos de vídeo e seus formatoskelwymferraz01
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Marcos Basilio
 

Ähnlich wie HTML5 Fundamentos Multimídia Web (20)

Formatos de áudio
Formatos de áudioFormatos de áudio
Formatos de áudio
 
Vídeo digital ass
Vídeo digital  assVídeo digital  ass
Vídeo digital ass
 
Arquivos e extensão de vídeo
Arquivos e extensão de vídeoArquivos e extensão de vídeo
Arquivos e extensão de vídeo
 
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...
Plataforma de vídeos do UOL : Desenvolvimento de Cache+Proxy de alta performa...
 
Codec de áudio e vídeo, transcoders e containers multimídia
Codec de áudio e vídeo, transcoders e containers multimídiaCodec de áudio e vídeo, transcoders e containers multimídia
Codec de áudio e vídeo, transcoders e containers multimídia
 
Conversao formatos codecs_
Conversao formatos codecs_Conversao formatos codecs_
Conversao formatos codecs_
 
DivX
DivXDivX
DivX
 
Design Gráfico para Web: HTML 5 - Multimídia
Design Gráfico para Web: HTML 5 - MultimídiaDesign Gráfico para Web: HTML 5 - Multimídia
Design Gráfico para Web: HTML 5 - Multimídia
 
Arquivos de vídeos
Arquivos de vídeosArquivos de vídeos
Arquivos de vídeos
 
Internetcus
InternetcusInternetcus
Internetcus
 
Sistemas operacionais 12
Sistemas operacionais 12Sistemas operacionais 12
Sistemas operacionais 12
 
Tipo de vídeo e seus formatos
Tipo de vídeo e seus formatosTipo de vídeo e seus formatos
Tipo de vídeo e seus formatos
 
Softwares Open Source para tratamento de áudio e vídeo aTube Catcher
Softwares Open Source para tratamento de áudio e vídeo aTube CatcherSoftwares Open Source para tratamento de áudio e vídeo aTube Catcher
Softwares Open Source para tratamento de áudio e vídeo aTube Catcher
 
Aprender html5 em 4 passos
Aprender html5 em 4 passosAprender html5 em 4 passos
Aprender html5 em 4 passos
 
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
Tecnologias Microsoft em Linux: .NET Core, SQL Server e Visual Studio Code - ...
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
RI-8.pdf
RI-8.pdfRI-8.pdf
RI-8.pdf
 
Tipos de áudios e seus formatos
Tipos de áudios e seus formatosTipos de áudios e seus formatos
Tipos de áudios e seus formatos
 
Arquivos de vídeo e seus formatos
Arquivos de vídeo e seus formatosArquivos de vídeo e seus formatos
Arquivos de vídeo e seus formatos
 
Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)Aula 11 – placas controladoras de vídeo (ii)
Aula 11 – placas controladoras de vídeo (ii)
 

Mehr von Jose Berardo

HTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationHTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationJose Berardo
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Jose Berardo
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1Jose Berardo
 
Java Certified Associate Aula 1
Java Certified Associate Aula 1Java Certified Associate Aula 1
Java Certified Associate Aula 1Jose Berardo
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
Curso de Java EE 6
Curso de Java EE 6Curso de Java EE 6
Curso de Java EE 6Jose Berardo
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da WebJose Berardo
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3Jose Berardo
 
Certificacoes Desenvolvedores
Certificacoes DesenvolvedoresCertificacoes Desenvolvedores
Certificacoes DesenvolvedoresJose Berardo
 

Mehr von Jose Berardo (15)

HTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationHTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device Orientation
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1
 
Java Certified Associate Aula 1
Java Certified Associate Aula 1Java Certified Associate Aula 1
Java Certified Associate Aula 1
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Curso de Java EE 6
Curso de Java EE 6Curso de Java EE 6
Curso de Java EE 6
 
Html5 Aula 3
Html5 Aula 3Html5 Aula 3
Html5 Aula 3
 
Html5 aula 01
Html5 aula 01Html5 aula 01
Html5 aula 01
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da Web
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Certificacao Php
Certificacao PhpCertificacao Php
Certificacao Php
 
Certificacoes Desenvolvedores
Certificacoes DesenvolvedoresCertificacoes Desenvolvedores
Certificacoes Desenvolvedores
 

HTML5 Fundamentos Multimídia Web

  • 1.
  • 2. HTML5 ESSENCIAL Fundamentos de todo serviço na Web
  • 3. EMENTA • Fundamentos de Web • Documentos HTML • Conteúdo • Multimídia • Semântica • Desempenho 3
  • 4. O QUE VEREMOS AGORA • Fundamentos da Web • Documentos HTML • Conteúdo • Multimídia • Imagens e objetos • Áudio e Vídeo • Canvas • Imagens vetoriais • Semântica 4
  • 5. IMAGENS E OBJETOS • O HTML5 trouxe também a tag <figure> para expressar “ilustrações” • É mais uma tag semântica, sem nenhuma expressão estética • Apenas representa que em seu conteúdo, estamos querendo carregar uma imagem, um gráfico, uma foto, um exemplo de código ou qualquer coisa que consideremos ilustração de algum assunto que esteja sendo abordado na página. • A tag <figcaption> pode vir no conteúdo de <figure> • Útil para se definir um rótulo para a ilustração demarcada em <figure>. 5
  • 6. IMAGENS E OBJETOS • A tag <img/> é útil para carregar uma imagem • Ex.: <img src="imagens/logomarca.png" /> • O atributo src é onde inserimos a URL de localização da imagem. • Dicas • Todo atributo src (source), carrega algum conteúdo externo na página HTML atual • A URL disposta no src pode ser analítica (incluindo desde o protocolo. Ex: http://www.especializa.com.br/imagem.jpg) • Pode também ser relativa ao local de onde a própria página HTML foi requisitada • O primeiro exemplo em negrito considerou que no mesmo local onde está a página que o escreveu, há um subdiretório imagens com o arquivo logomarca.png dentro • É o browser quem transforma esse caminho relativo em tag analítica 6
  • 7. IMAGENS E OBJETOS • Acessibilidade em imagens • Imagens são alvos de críticas por dificultar a acessibilidade • Não é recomendado o uso de imagens em substituição de conteúdo texto por dificultar a vida de buscadores e leitores de tela • Felizmente, existem atributos úteis para carregamento de informações acerca da imagem carregada • alt - Carrega um texto alternativo que aparece quando a imagem não é carregada e lido por leitores de tela • longdesc - Útil apenas para leitores de tela ou buscadores, é o local onde se recomenda trazer mais detalhes sobre a imagem • Ex.: <img src="imagens/foto.png" alt="Foto da fachada da Especializa" longdesc="Foto imponente apresentando uma pequena fração das luxuosas instalações da Especializa Treinamentos. O céu está claro conforme o contrato estabelecido com São Pedro para este momento"/> 7
  • 8. OBJETOS ESPECIAIS • O HTML5 trouxe uma série de novas tags que além de recuperar semântica fazem o browser renderizar objetos visuais mais elaborados • <progress> - Tag que exibe um gráfico de progresso de alguma tarefa. • Antigamente só possível através de imagens ou CSS. • Ex: <progress id="p" value="90" max="100">90</progress> • Dessa forma o HTML mantém a semântica da informação e o browser exibe um controle de mais alto nível • <meter> - Campo semelhante ao progress. • A documentação oficial indica que o meter deva ser usado para alguma medida e não para andamento • O Chrome exibe o <progress> como uma imagem em movimento, o <meter> é desenhado estático 8
  • 9. OBJETOS PLUGINS • Plugins são extensões de browsers para finalidades específicas • Os principais exemplos de plugins são o Flash Player e os players de vídeos como Real Player, Quick Time ou Windows Media Player • As tags utilizadas para carregar objetos externos são <object> e <embed> • Ambas podem conter tags <param> em seu interior para permitir a passagem de parâmetros para o objeto interno • O primeiro plugin criado e usado até hoje foi o Applet Java • O HTML 4.01 depreciou a tag <applet> e sugeriu o uso de <object> no lugar a fim de padronizar 9
  • 10. HTML5 AUDIO E VIDEO • Até o HTML5 não havia controle padrão para adicionar audio e vídeo a uma página • Essa atividade era feita por plugins, como o Flash. • Hoje existem as tags <audio> e <video> com propriedades semelhantes • Todos os atributos de <audio> estão presentes em <video>, mas esta última possui dados a mais • Ambas as tags suportam o atributo src para carregar o conteúdo como se faz como imagens (tags <img>) • Tags <source>, no interior delas, servem para carregar a primeira mídia que o browser suportar da lista. Ex.: • <audio autoplay controls loop> <source src="midia.mp3"/> <source src="midia.aac"/> <source src="midia.wav"/> </audio> 10
  • 11. ARQUIVOS MULTIMIDIA • Bitmaps e formatos de imagens • Toda imagem pode ser expressa como um mapa de bits (.bmp) ou como algum algoritmo que a deixe menor • Esses algoritmos podem trazer perdas de qualidade • Arquivos .jpg possuem níveis de compressão que vão gradativamente perdendo a qualidade à medida que se aumente a compressão • Trilhas de audio e video • Vídeos são sequências de imagens que trocam rápido o suficiente pro olho humano enxergar um movimento fluido • Em geral algo em 20 e 30 frames por segundo (FPS) • Gravações de áudio e de vídeo podem ser compactadas usando algoritmos chamados codecs • Ex.: Audio - Ogg Vorbis, MP3, AC3 (Dolby), WAV, WMA, etc • Ex: Video - x263, x264, Divx, xVid, Ogg Theora 11
  • 12. ARQUIVOS MULTIMIDIA • Arquivos de vídeo podem conter mais de uma trilha de vídeo, de áudio e até de legenda. • Esses arquivos são chamados de formatos ou de containers e os mais populares são avi, mp4, wmv, rmvb, mkv e mais recentemente o que foi criado na tentativa de padronizar as coisas no HTML5, WebM. • Além de mais compactos, mais leves, alguns containers também são mais limitados do que outros, podendo suportar ou não legenda ou escolha de mais de uma faixa de audio (para dublagens, por exemplo) • Existe ainda uma tabela de compatibilidade entre containers e codecs. Nem todo container é capaz de abarcar trilhas de audio ou de vídeo compactada por certos codecs • Devido a essa guerra, os browsers apresentam também suportes diferentes para codecs e containers, daí a necessidade de se ter mais de uma tag <source> por elemento <audio> ou <video> • O plugin do Flash dos browsers popularizou o formato .flv mas seu uso aos poucos está sendo desencorajado em favor do padrão de vídeo do HTML5 12
  • 13. ARQUIVOS MULTIMIDIA • Padrões de compactação de audio e vídeo • H.261. Criado em 1991, foi o primeiro grande padrão de compactação de vídeo digital • MPEG-1 Parte 2. Baseado no H.261, foi criado no intuito de possibilitar vídeos com qualidade VHS caberem em CDs • MPEG-2 Parte 2 ou H.262. Formato inicialmente padrão dos DVDs e das TVs digitais, que o estão trocando pelo MPEG-4 • H.263. Padrão utilizado por vídeos Flash que se preocupam mais com a compactação do que com a qualidade final • MPEG-4. Projeto guarda-chuva criado para estabelecer subpadrões de acordo com ambiente onde quer transmitir o vídeo • MPEG-4 Parte 2. Padrão utilizado por codecs como o Divx. • MPEG-4 Parte 10 ou H.264. Padrão preferido da Apple e do Google para transmissão na Internet. É também reconhecido por equipamentos domésticos e tem a fama de proporcionar alta qualidade em pequenos tamanhos finais de arquivos 13
  • 14. ARQUIVOS MULTIMIDIA • Codecs de audio • AC3 - Dolby Digital. Suporta até 6 faixas de audio. Bom para sistemas surround de home theaters. • Ogg Vorbis. Possui uma ótima relação de compactação x perda de qualidade. Open source e totalmente livre de patentes. • MP3 - MPEG-1 Audio Layer 3. Disparadamente o codec mais popular, sobretudo por ser distribuída e arquivos de próprio nome como faixa órfã. Pouca gente sabe, mas não é um formato livre de patentes • Codecs de vídeo • DivX. Muito utilizada em containers AVI. Já é reconhecida pela maioria dos DVD Players caseiros. Possui uma boa taxa de compactação mesmo com qualidade próxima de DVDs • XViD. Semelhante a anterior, mas de código aberto e também bastante popular • VP8. Codec da On2, empresa comprada pelo Google, que logo tratou de anunciar a abertura de seu código fonte e sugerir seu uso como padrão de vídeo na web (WebM) 14
  • 15. ARQUIVOS MULTIMIDIA • Containers • AVI (Audio Video Interleave). Um dos formatos mais populares de vídeos • MP4 (MPEG-4 Parte 14). Container padrão para formatos MPEG-4 • FLV (Flash Video). Container da Adobe para vídeos MPEG-4 em Flash • MOV. Container do QuickTime da Apple • OGG, OGM e OGV. Containers de código aberto • MKV (Matroska). Container de código aberto considerado por muita gente como o melhor e mais versátil na atualidade • VOB (DVD Video Object). Container padrão de arquivos de DVDs • ASF. Container da Microsoft para arquivos .wma, .wmv ou .asf • WebM (Web Media). Sugerido por Google, Opera e Mozilla para oficializar um formato para a Web sem variações de codecs • Utiliza necessariamente o Codec de vídeo VP8 e de audio Ogg Vorbis em containers MKV salvos, em geral, com a extesão .webm 15
  • 16. TIPOS DE ARQUIVOS • Confira a lista de compatibilidades • Entre no site http://fmbip.com e verifique o que o seu browsers suporta 16
  • 17. TIPOS DE ARQUIVOS • Confira a lista de compatibilidades • Entre no site http://fmbip.com e verifique o que o seu browsers suporta 16
  • 18. AUDIO • Atributos presentes na tag <audio>: • controls: Sua presença exibe controles de play/pause, andamento e volume como o acima. • src: Define o caminho do arquivo. Melhor utilizar nas tags internas <source>. • autoplay: Determina se a mídia será tocada assim que a página for carregada, sem precisar de ação do usuário • preload: Manda o browser ir carregando a mídia antes do usuário clicar em play e se a mídia estar em autoplay. • loop: Determina o reinício automático quando a mídia concluir 17
  • 19. VIDEO • A tag <video> funciona de modo semelhante embora possua alguns atributos a mais: • width e height - para definir respectivamente largura e altura em pixels do vídeo • poster - URL para uma imagem que será a capa do vídeo 18
  • 20. CONTEUDO DAS TAGS • no interior das tags <audio> e <video> é possível, definir algo que só será lido por browsers que não as suportarem • <video> <source src="Video.mp4" type="video/mp4"/> <source src="Video.webm" type="video/webm"/> Você chama isso de browser? Joga ele no mar! Ele não entende MP4 nem WebM. </video> • Vídeos podem ter seus mime types explicitados • Perceba no exemplo acima a presença do atributo type em cada tag <source>. • Além de <source>, as tags de audio e vídeo podem conter tags <track> que veremos a seguir 19
  • 21. MEDIA TRACKS • Tanto audio quanto vídeo trazem um conceito poderoso, mas ainda muito novo em desenvolvimento chamado Media Tracks • Para adicionar uma media track, defina uma tag <track> no interior de uma tag de <video>, por exemplo: • <video> <source src="exemplo.webm" type="video/webm"/> <track kind="subtitles" src="legenda.srt"/> </video> • O código acima se propõe a carregar um arquivo de legenda enquanto exibe o vídeo • Os primeiros browsers a suportar <track> são Chrome 18 e Internet Explorer 10 • Para habilitar o suporte a tracks no Chrome acesse o endereço chrome://flags e habilite a opção Enable <track> element. • Sua alteração só terá efeito após reiniciar o browser 20
  • 22. MEDIA TRACKS • Confira a lista de kinds permitidos em tracks • subtitles - Traduções do audio. As famosas legendas que acompanham os vídeos. Mais aplicáveis a sons audíveis mas ininteligíveis como o fala em outro idioma. • captions - Transcrições do audio. Mais aplicáveis a fatos de vídeo que devam ser descritos para quem não tenha condições de ouvir, mesmo que momentaneamente • descriptions - Transcrições do vídeo. Úteis para quem não tenha condições de ver o que passa no vídeo e deseja saber o que está sendo apresentado • chapters - Marcações de capítulos. Útil para a navegação a determinadas partes do vídeo • metadata - Faixas com a finalidade exclusiva de prover informações para scripts ouvintes do andamento do vídeo 21
  • 23. MATRIZ DE BROWSERS • Vantagens de cada browser • O browser que suporta a maior variedade de formatos é o Safari • O Firefox e o Opera só suportam WebM, mas o IE não • O IE suporta .mp4 com codec de vídeo h.264 e vídeo AAC (ou mp3) • O controle padrão mais evoluído é o do Firefox • Dá play/pause no vídeo ao clicar na imagem ou teclar espaço • Avança e retrocede o vídeo com as setas • O IE também tem alguma funcionalidade implementada através do teclado • Só quem tem botão fullscreen é o Firefox e o Safari • O browser mais evoluído no uso de <track> é o Chrome • Browsers testados • Chrome 18, Safari 5.1, Opera 11.61, Firefox 11, IE 9 22
  • 24. AUDIO E VIDEO • Links úteis sobre audio e vídeo no HTML5 • http://dev.opera.com/articles/view/everything-you-need-to-know- about-html5-video-and-audio/ • http://www.longtailvideo.com/html5/ • http://html5videoguide.net/presentations/WebVTT/#landing-slide • http://www.html5rocks.com/en/tutorials/track/basics/ • http://www.tutorialspoint.com/html5/html5_audio_video.htm • http://html5doctor.com/native-audio-in-the-browser/ 23
  • 25. CANVAS • O HTML5 trouxe o conceito de canvas, para manipulação de bitmaps de imagens dinamicamente (via Javascript) em documentos HTML • A tag <canvas> é o container da imagem a ser trabalhada na tela • Até o Internet Explorer (desde o 9) é capaz de entender canvas • É possível desenhar em 2D e em 3D a partir dos chamados contextos do canvas • Ex: • <canvas id="quadro" width="300" height="300"> Infelizmente seu browser não suporta canvas </canvas> • Não dá pra falar em canvas sem falar em Javascript • Vamos apresentar um exemplo só pra ninguém ficar triste =) 24
  • 26. EXEMPLO DE CANVAS • Com o exemplo, o usuário pode criar uma imagem como essa ao lado ----> • <script> $(function() { $('#quadro').click(function(event) { var context = this.getContext('2d'); context.strokeStyle = '#ABC'; context.lineWidth = 3; var x = event.pageX - 10; var y = event.pageY - 10; context.moveTo(x+40,y); context.arc(x,y,40,0,Math.PI*2,true); context.stroke(); }) }) </script> 25
  • 27. SVG • Scalable Vector Graphics • Gráficos vetoriais escaláveis. • Dialeto XML (assim como o próprio HTML) baseado nos dialetos PGML, da Adobe e VML da Microsoft • É bastante antiga mas seu uso nunca foi tão popular • O que é imagem vetorial • Imagem bitmap é baseada no cômputo de bytes que informam as cores em cada unidade na tela. Ou seja, 3 bits (RGB) para cada pixel na tela • Imagem vetorial é a interpretação de operações matemáticas para montagem desses pontos • Ampliar um bitmap causa perda de informação e deformação da imagem, já um vetor ampliado é apenas o recálculo sugerido em escala maior. Não há perda alguma de informação • Vetores maiores ocupam o mesmo espaço em bytes do que os menores 26
  • 28. SVG • Exemplo <svg width="100%" height="100%"> <circle r="50" cx="100" cy="100" fill="green"/> </svg> • Esse é o conteúdo do arquivo .svg, para adicioná-lo em seu HTML faça o seguinte: • Usando object: <object src="imagem.svg" classid="image/svg+xml" type="image/svg+xml" height="100" width="100" /> • Usando embed: <embed src="imagem.svg" type="image/svg+xml" height="100" width="100" /> • Usando img: <img src="imagem.svg" height="100" width="100" /> 27
  • 29. SVG • O HTML5 suporta adicionar SVG inline como se faz com canvas <body> <h1>Exemplo de SVG Inline</h1> <svg> <circle r="50" cx="100" cy="100" fill="green"/> </svg> </body> 28
  • 30. SVG • Exemplos de shapes SVG: • Efeitos de estilo podem ser definidos através de atributos ou em propriedades do atributo style (como se faz no CSS) • Círculo (<circle>) • <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" /> • Retângulo (<rect>) • <rect width="300" height="100" style="fill:red;stroke-width:1;stroke:black"/> • Retângulo com cantos arredondados e transparência <rect x="50" y="20" rx="20" ry="20" width="150" height="150"style="fill:red;stroke:black;stroke-width:5;opacity:0.5"/> • Ellipse (<ellipse>) • <ellipse cx="300" cy="80" rx="100" ry="50" style="fill:red;stroke:black;stroke-width: 2" /> 29
  • 31. SVG • Exemplos de shapes SVG: • Linha (<line>) • <line x1="0" y1="0" x2="200" y2="200" style="stroke:rgb(255,0,0);stroke-width: 2" /> • Polígono (<polygon>) • Os pontos são valores x,y separados por espaços • <polygon points="200,10 250,190 160,210" style="fill:lime;stroke:purple;stroke-width:1" /> • Linha de múltiplos pontos (<polyline>) • <polyline points="20,20 40,25 60,40 80,120 120,140 200,180" style="fill:none;stroke:black;stroke-width:3" /> • Textos (<text>) • <text x="0" y="15" fill="red" transform="rotate(30 20,40)">SVG é Massa!</ text> 30
  • 32. SVG • Há muito mais a falar sobre SVG que em si é uma linguagem grande como a própria HTML • Textos podem seguir caminhos (textpaths) para serem dispostos de forma sinuosa • Linhas (strokes) podem ser tracejadas ou pontilhadas • É recomendável utilizar um editor de imagens que gera arquivos SVG para não ser necessário aprender tantas propriedades • O primeiro a fazer isso foi o Adobe Illustrator 31
  • 33. SVG • Há muita informação sobre o assunto na Internet, mas separamos um tutorial bem didático: • http://tutorials.jenkov.com/svg/index.html • Há muito a falar sobre Javascript com SVG, mas como não é o foco neste curso, apresentamos apenas uma biblioteca que facilita o trabalho com SVG: • Raphael.js - http://raphaeljs.com/ 32