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, gerenciando o cache de chunks e playlists e configurando regras no Rules Engine.



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

Seção intitulada Crie uma politica 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

Seção intitulada Crie uma politica 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.
  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.


Contribuidores