mpeg-DASH

Ana Carolina Menezes, William Macedo

Redes de Computadores II - 2019.2
Engenharia Eletrônica e de Computação
Departamento de Engenharia Eletrônica

1. Introdução

A entrega de conteúdo de vídeo pela Internet começou nos anos 90, com entrega e consumo de grandes quantidades de dados como o principal desafio. O Protocolo de transporte em tempo real (RTP) da IETF foi projetado para definir formatos de pacotes para conteúdo de áudio e vídeo junto com o gerenciamento de sessões de fluxo que permitia a entrega desses pacotes com custos indiretos muito baixos. O RTP funciona bem em redes IP gerenciadas. No entanto, na Internet de hoje, as redes gerenciadas foram substituídas pelas redes de entrega de conteúdo (CDN), muitas das quais não oferecem suporte ao streaming RTP. Além disso, pacotes RTP geralmente não são permitidos através de firewalls. Por fim, o streaming RTP exige que o servidor gerencie uma sessão de streaming separada para cada cliente, tornando as implantações em larga escala muito custosas em relação aos recursos.

1.1. Motivação

Com o aumento da largura de banda da Internet e o crescimento da mesma, o valor da entrega de dados de áudio ou vídeo em pacotes de tamanho muito pequenos diminuiu. Agora, o conteúdo multimídia pode ser entregue com muita eficiência em segmentos maiores usando HTTP. Esse tipo de streaming traz vários benefícios, que veremos mais a frente - na seção 4.1.

Por conta dessas razões, o streaming HTTP se tornou uma abordagem popular em aplicações comerciais. Por exemplo, plataformas de streaming como o HTTP Live Streaming (HLS) da Apple, o Smooth Streaming da Microsoft e o HTTP Dynamic Streaming da Adobe usam o fluxo HTTP como método fundamental de entrega. No entanto, cada implementação usa diferentes formatos e, portanto, para receber o conteúdo de cada servidor, um dispositivo deve suportar seu protocolo de cliente proprietário correspondente.

2. História

As tecnologias de adaptive streaming ​​permitem a melhor experiência de visualização de vídeo em streaming para uma ampla gama de dispositivos em um amplo conjunto de velocidades de conexão. Primeiro, elas produzem vários arquivos do mesmo arquivo de origem para distribuir aos espectadores que assistem em diferentes dispositivos com diferentes velocidades de conexão. Segundo, elas distribuem os arquivos de forma adaptável, alterando o fluxo fornecido para se adaptar às mudanças na taxa de transferência efetiva e nos ciclos de CPU disponíveis na estação de reprodução. E terceiro, todas operam de forma transparente para o usuário, de modo que o espectador clica em um botão e todas as trocas de fluxo ocorrem nos bastidores. O espectador até pode notar uma ligeira mudança na qualidade à medida que os fluxos mudam, mas nenhuma ação é necessária da parte dele.

Essas tecnologias permitem que os produtores ofereçam streamings de ótima qualidade na parte alta do espectro de largura de banda, porque também atendem à parte baixa. Sem elas, a maioria dos produtores distribuiria um único arquivo de qualidade mediana que aparentaria estar abaixo da média na configuração ideal de visualização ou criaria vários arquivos e forçaria o espectador a selecionar a configuração desejada.

3. Protocolo

3.1. Desenvolvimento

3.2. Funcionamento

3.3. Estrutura

4. Utilização

Como explicitado anteriormente, o MPEG-Dash é um dos protocolos que se localizam no universo de protocolos de streaming adaptativo. Isto é, permite a transferência de vídeo no modelo clássico cliente-servidor, de forma que a qualidade da experiência se adapte à qualidade da conexão de Internet do usuário, permitindo assim uma flexibilidade e maior disponibilidade para um maior número de assinantes/clientes.

4.1. Vantagens

O MPEG-Dash se diferencia dos seus concorrentes, principalmente pelo fato de que foi um protocolo que foi desenvolvido com a intenção de ser independente, não-proprietário. Ou seja, não foi criado unicamente por nenhuma marca como Apple ou Microsoft, mas desenvolvido em parcerias com mais de 10 empresas e ratificado pelo MPEG e pela ISO, objetivando se tornar um padrão internacional no ramo de transmissão de vídeo pela Internet, evitando que decisões comerciais unilaterais possam restringir a compatibilidade entre serviços, ou interoperabilidade de aplicações. Como o MPEG-Dash é baseado em requisições HTTP, seus pacotes trafegam na porta 80, evitando assim problemas com Firewall/NAT. Uma outra vantagem é o fato de ser agnóstico aos codecs de áudio e vídeo, de forma que haja uma maior flexibilidade na compressão dessa mídia a ser transmitida. O formato do segmento também é flexível: em comparação com o HLS, que fixa o formato MPEG2-TS, o MPEG-Dash também possibilita o uso de segmentos ISO Base Media File Format.

4.2. Desvantagens

Não é suportado nativamente pelo HTML5, sendo necessário habilitar uma extensão (MSE - Media Source Extension).

5. Alternativas

5.1. HLS

Ferramenta criada pela Apple, o HLS (HTTP Live Streaming), corta o conteúdo do video em pedaços de 10 segundos e os entrega via HTTP. Assim como o MPEG-DASH, a qualidade na entrega é dinâmica, podendo mudar de acordo com a velocidade de Internet do usuário.

5.2. MSS

Ferramenta criada pela Microsoft, o Microsoft Smooth Streaming, permite streaming de mídia para o Silverlight e outros clientes por HTTP. Também fornece uma experiência de visualização de alta qualidade que se escala enormemente nas redes de distribuição de conteúdo, tornando realidade a experiência em mídia Full-HD.

5.3. RTMP

Protocolo criado pela Macromedia, o Real Time Messaging Protocol, foi implementado totalmente voltado para o Flash player. Ele é deseolvido sobre TCP e por padrão ulitiza a porta 1935. A diferença principal entre RTMP e que usam HTTP é que no RTMP, há um ponteiro direto do servidor de mídia para o flash player, e apenas os dados correspondentes a esse ponteiro são retidos pelo flash player. Não há armazenamento em buffer / dados no computador. Em HTTP, é criado um buffer estável, começando no ponto de reprodução.

5.4. Comparação HLS / MSS / MPEG-DASH

Feature Apple HLS MS Smooth Streaming MPEG–DASH
Deployment on Ordinary HTTP Servers
Official International Standard (e.g., ISO/IEC MPEG)
Multiple Audio Channels (e.g., Languages, Comments, etc.)
Flexible Content Protection with Common Encryption (DRM)
Closed Captions / Subtitles
Efficent Ad Insertion
Fast Channel Switching
Protocol Support’s multiple CDNs in parallel
HTML5 Support
Support in HbbTV (version 1.5)
HEVC Ready (UHD/4K)
Agnostic to Video Codecs
Agnostic to Audio Codecs
ISO Base Media File Format Segments
MPEG-2 TS Segments
Segment Format Extensions beyond MPEG
Support for multiplexed (Audio + Video) Content
Support for non-multiplexed (separate Audio, Video) Content
Definition of Quality Metrics
Client Logging & Reporting
Client Failover
Remove and add Quality Levels during Streaming
Multiple Video Views
Efficient Trick Modes

6. Aplicações com utilização do MPD/Patentes/Compatibilidades

7. Conclusão

8. Referências

9. Perguntas e Respostas