COMUNICAÇÃO DE ÁUDIO E VÍDEO

2015/2016

Prof. Fernando Pereira


Player: HTML5 com Adaptative Bitrate

Os conteúdos do Youtube são atualmente reproduzidos utilizando o player do HTML5 (sendo que o HTML5 é a linguagem de programação web mais recente e, logo, mais completa e poderosa). Quando o player do HTML5 apareceu, começou por competir com o flash player acabando por substitui-lo totalmente nos principais browser excepto no Mozilla, que continua a oferecer aos utilizadores a possibilidade de usar o Flash Player, dado o desenvolvimento deste e o aumento das opções que confere na sua utilização, como pode ser visto na Fig.1. Este novo player não só não necessita de plugins como é mais estável e permite uma maior interoperabilidade da aplicação onde está a ser usado.

Figura 1. Lista das opções oferecidas pelo HTML5 (https://www.youtube.com/watch?v=3P8q_dCU3RI)

Experimente o player do Youtube:

Um dos principais obstáculos na transição foi a falta de suporte deste player noutros browsers, obstáculo que não se se verificaria durante muito tempo visto que browsers como SAFARI, MOZIILLA ou GOOGLE se apressaram a actualizar-se a tecnologia emergente. Uma das caraterísticas do HTML5 que o torna especial é o Adaptative Bitrate (ABR) que lhe permite adaptar a qualidade dos conteúdos consoante a capacidade de conexão dos utilizadores. Assim é sempre possível correr um vídeo com rapidez normal com menor ou maior qualidade, dependendo da qualidade de conexão do utilizador. Esta tecnologia, que utiliza como protocolo de streaming o http, apareceu em 2002 quando se quis gravar os conteúdos MPEG-1 e MPEG-2 dos directórios TS dos DVD em ficheiros com 2kB. Assim, os ficheiros em MPEG-1 ofereciam a versão da stream com largura de banda mais baixa enquanto que os ficheiros MPEG-2 ofereciam a mais elevada. A Fig.2 apresenta uma arquitectura do ABR.

Figura 2. Arquitectura de ABR [2]

O vídeo é codificado em vários débitos diferentes, sendo que o maior será igual ao débito usado para criação do vídeo, e no início da transmissão é detetada a largura de banda da conexão do utilizador e é transmitido ao cliente o vídeo no débito mais baixo. Se a conexão tiver uma velocidade de download maior que o débito, então uma mensagem é enviada para o codificador com essa informação e este passa a transmitir no débito seguinte e assim sucessivamente. Quando a velocidade de download é superada pelo débito a qualidade da stream começa a deteriorar-se e aí o codificador passa a transmitir no débito anterior para que se volte a verificar a primeira condição. Este procedimento, que é realizado em tempo real e tenta não ser detectado pelo utilizador, permite que o buffer do codificador seja pequeno pois nunca se enche completamente visto que o débito à sua saída é controlável. Isto garante ao utilizador que a qualidade de vídeo que lhe é apresentada é a que possibilita a melhor fluência do mesmo sem cortes embora também possa escolher manualmente a qualidade que deseja podendo depois ser prejudicado devido à condição supacitada.

Referências

  • [1] https://tecnoblog.net/173249/youtube-html5-padrao/
  • [2] https://en.wikipedia.org/wiki/Adaptive_bitrate_streaming