Como implementar cache HLS para entrega de streaming ao vivo

A Plataforma de Edge da Azion permite que você entregue conteúdo de streaming ao vivo no formato HLS, capacitando-lhe a autoprovisionar e configurar suas política de cache facilmente. Este guia abrange o passo a passo para implementar o cache HLS, gerenciar o cache de chunks e playlists, configurar regras no Rules Engine e utilizar o Edge Storage para uma entrega de vídeo otimizada.


Pré-requisitos


Implemente políticas de cache HLS

Para implementar políticas de cache HLS na edge application, siga os passos explicados embaixo.

Neste exemplo, uma edge application e um domínio vinculado a ela já foram previamente criados.

Crie uma política de cache para os chunks

Primeiro, você deve criar uma política de cache para os chunks:

  1. Abra a Azion CLI no seu terminal.
  2. Obtenha os detalhes de uma aplicação edge existente usando o comando list: azion list edge-application --details
  3. Habilite o Tiered Cache para sua application: $ azion update edge-application --application-id 1234 --l2-caching true
  4. Crie uma origem: $ azion create origin --application-id 1234 --name "origin-edge" --origin-type single_origin --addresses "example.com" --host-header "example.com"
  5. Configure a política de cache para os chunk: $ azion create cache-setting --application-id 1234 --name "chunks-policy" --browser-cache-settings "override" --browser-cache-settings-maximum-ttl 0 --cdn-cache-settings "override" --cnd-cache-settings-maximum-ttl 60
  • Defina os comportamentos de Advanced Cache Key de acordo com suas necessidades. Verifique as flags opcionais para o comando create.
  • A recomendação é selecionar Content does not vary, para Query String and/or Cookies, conforme suas necessidades.

Crie uma política de cache para a playlist

Agora configure a política de cache para a playlist: $ azion create cache-setting --application-id 1234 --name "playlist-policy" --browser-cache-settings "override" --browser-cache-settings-maximum-ttl 0 --cdn-cache-settings "override" --cnd-cache-settings-maximum-ttl 5

  • Defina os comportamentos de Advanced Cache Key de acordo com suas necessidades. Verifique as flags opcionais para o comando create.
  • A recomendação é selecionar Content does not vary, para Query String and/or Cookies, conforme suas necessidades.

Utilize o Edge Storage da Azion para entrega de vídeos HLS

Para entregar vídeos MP4 usando HLS e o Edge Storage:

  1. Faça o upload dos arquivos de vídeo MP4 para o Edge Storage.
  2. Configure o seu codificador para converter os arquivos MP4 para o formato HLS e defina o Edge Storage como origem.
  3. Siga as etapas de configuração da política de cache mencionadas acima para garantir uma entrega eficiente de vídeo.

Crie regras no Rules Engine

  1. Primeiro, crie uma regra para os chunks: $ azion create rules-engine --application-id 1234 --phase "request" --file ./chunks-rule.json

No arquivo chunks-rule.json, inclua:

{ "name": "chunks-rule", "description": "This is a description for your chunks rule", "criteria": [ [ { "conditional": "if", "variable": "${uri}", "operator": "matches", "input_value": ".\*.ts" } ] ], "behaviors": [ { "name": "set_cache_policy", "target": "chunks-policy" } ]
}
  1. Logo, crie uma regra para a playlist: $ azion create rules-engine --application-id 1234 --phase "request" --file ./playlist-rule.json

No arquivo playlist-rule.json, inclua:

{ "name": "playlist-cache-rule", "description": "This is a description for your playlist rule", "criteria": [ [ { "conditional": "if", "variable": "${uri}", "operator": "matches", "input_value": "\*.m3u8" } ] ], "behaviors": [ { "name": "set_cache_policy", "target": "playlist-policy" } ]
}

Pronto! Agora você pode configurar sua fonte e codificador apontando para a Azion e transmitir seu conteúdo, implementando o cache HLS.

Consulte a arquitetura de Live Streaming Delivery

Contribuidores