WebM é essencialmente um formato contêiner para transportar vídeo VP8 ou VP9 e áudio Vorbis ou Opus. Ele não especifica como deve ser transmitido e, geralmente, não tem suporte amplo para streaming, em comparação com outros formatos de contêiner, como MPEG-2 TS ou MP4. No entanto, ainda pode ser usado para streaming.
Observe que, por "streaming", não estou falando apenas do download de um único arquivo de um site ou da incorporação de um único clipe (longo) em uma tag HTML5 <video>
. Nos últimos anos, várias tecnologias de streaming mais avançadas foram usadas:
-
RTMP streaming (protocolo de mensagens em tempo real), requer um servidor RTMP como Adobe Flash Media Server , que transmitirá formatos de arquivo compatíveis com Flash (MP4, FLV) para o cliente. Isso ainda é bastante difundido, mas devagar e com certeza desaparece - como todas as tecnologias baseadas em Flash.
Como o WebM não é suportado no Flash, você não pode usá-lo lá.
-
Streaming RTSP (Protocolo de Streaming em Tempo Real) é um protocolo de controle para servidores de streaming, como o QuickTime Streaming Server ou Helix Server . O cliente e o servidor trocarão mensagens de controle através deste protocolo, enquanto os dados serão transmitidos através do RTP (Transporte em tempo real Carga útil do protocolo). Isso raramente é encontrado na Web, mas IPTV .
Existem especificações sobre como encapsular o WebM na RTP .
-
HTTP Live Streaming e MPEG-DASH são tecnologias de streaming adaptáveis nas quais o cliente solicita trechos de um vídeo de um servidor por meio de solicitações HTTP simples, com base em um arquivo de lista de reprodução M3U8 ( no caso do HLS) ou um Manifesto do MPD (no caso do DASH). Esse arquivo indexa esses fragmentos de arquivos contendo os dados reais de áudio e vídeo.
No HLS, o vídeo deve ser armazenado em arquivos MPEG-2 TS ou, desde 2017, em arquivos MP4 (formato base de mídia ISO) fragmentados. MPEG-DASH tem suporte mais amplo; aqui, o WebM segmentado também pode ser usado .