Monitoramento do streaming de baixa latência do Amazon IVS - Amazon Interactive Video Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Monitoramento do streaming de baixa latência do Amazon IVS

Você pode monitorar os recursos do Amazon Interactive Video Service (IVS) usando o Amazon CloudWatch. O CloudWatch coleta e processa dados brutos do Amazon IVS e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você pode obter uma perspectiva histórica de como a aplicação da Web ou o serviço está se saindo. É possível definir alarmes para determinados limites e enviar notificações ou realizar ações quando esses limites são atingidos. Para obter mais detalhes, consulte o Guia do usuário do CloudWatch.

O carimbo de data/hora em uma métrica representa o início do período em que os dados de métricas são acumulados. Por exemplo, suponhamos que você receba um soma de métricas LiveDeliveredTime por minuto de 300 segundos à 01:02:00. Isso significaria que 5 minutos de vídeo foram entregues aos visualizadores durante o período de 1 minuto, de 01:02:00 às 01:02:59.

Para métricas designadas como de alta resolução, o primeiro ponto de dados aparece vários segundos após o início da transmissão. Recomendamos que você especifique um período de 5 segundos ao fazer as solicitações de métricas. (Consulte Resolução no Guia do usuário do Amazon CloudWatch.) Para outras métricas, os dados são emitidos em até 1 minuto do carimbo de data/hora ao qual se referem.

As métricas de alta resolução são acumuladas ao longo do tempo. A resolução diminui efetivamente à medida que as métricas envelhecem. A programação é:

  • Métricas de 1 segundo permanecem disponíveis por 3 horas.

  • Métricas de 60 segundos permanecem disponíveis por 15 dias.

  • Métricas de 5 minutos permanecem disponíveis por 63 dias.

  • Métricas de 1 hora permanecem disponíveis por 455 dias (15 meses).

Para obter informações atuais sobre retenção de dados, procure por “período de retenção” nas Perguntas frequentes sobre o Amazon CloudWatch.

Pré-requisitos

Acessar dados da sessão de transmissão

Usando o endpoint listStreamSessions, você pode acessar uma lista de transmissões que um canal teve por até 60 dias. Esta lista pode incluir uma sessão de transmissão ao vivo (denotada por um endTime vazio).

Você pode obter os dados da sessão para uma transmissão específica por meio do endpoint getStreamSession. Se você não especificar o parâmetro streamId, o endpoint retornará a sessão mais recente. Além disso, você pode chamar periodicamente o endpoint para obter os últimos eventos de transmissão (até os 500 mais recentes).

Instruções do console

  1. Abra o console do Amazon IVS.

    (Você também pode acessar o console do Amazon IVS via Console de Gerenciamento da AWS .)

  2. No painel de navegação, escolha Channels (Canais). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)

  3. Escolha o canal para acessar a respectiva página de detalhes.

  4. Role para baixo a página até ver a seção Sessões de transmissão.

  5. Selecione o ID de transmissão da sessão que você deseja acessar para visualizar os detalhes da sessão, incluindo gráficos para as métricas de alta resolução do Amazon CloudWatch.

Como alternativa, se um ou mais canais já estiverem ativos:

  1. Abra o console do Amazon IVS.

  2. No painel de navegação, escolha Live channels (Canais ao vivo). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)

  3. Selecione um canal ativo na lista para acessar os detalhes da sessão em uma visualização dividida.

Instruções do AWS SDK

Acessar dados de sessão de transmissão com o AWS SDK é uma opção avançada e exige que você baixe e configure o SDK na aplicação primeiro. As instruções para o AWS SDK usando JavaScript são descritas a seguir.

Pré-requisito: para usar o exemplo de código abaixo, você precisa carregar o AWS JavaScript SDK em sua aplicação. Para obter mais detalhes, consulte .Conceitos básicos do AWS SDK for JavaScript.

// This first call lists up to 50 stream sessions for a given channel. const AWS = require("aws-sdk"); const REGION = 'us-west-2'; let channelArn = USE_YOUR_CHANNEL_ARN_HERE; AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } }); AWS.config.update({region: REGION}); var ivs = new AWS.IVS(); // List Stream Sessions async function listSessions(arn) { const result = await ivs.listStreamSessions({"channelArn": arn}).promise(); console.log(result.streamSessions); } listSessions(channelArn); // Get Stream Session async function getSession(arn, id) { const result = await ivs.getStreamSession({"channelArn": arn, "streamId": id}).promise(); console.log(result); // This function polls every 3 seconds and prints the latest IVS stream events. setInterval(function(){ console.log(result.streamSession.truncatedEvents); }, 3000); } getSession(channelArn);

Instruções da CLI

Acessar dados de sessão de transmissão com a AWS CLI é uma opção avançada e exige que você baixe e configure a CLI em sua máquina primeiro. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.

  1. Listar sessões de transmissão:

    aws ivs list-stream-sessions --channel-arn <arn>
  2. Obter dados de sessão de transmissão para uma transmissão específica usando seu streamId:

    aws ivs get-stream-session --channel-arn <arn> --stream-id <streamId>

Veja uma resposta de exemplo para a chamada get-stream-session:

{ "streamSession": { "startTime": "2021-10-22T00:03:57+00:00", "streamId": "st-1FQzeLONMT9XTKI43leLSo1", "truncatedEvents": [ { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Session Ended", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Stream End", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:57+00:00", "name": "Stream Start", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:50+00:00", "name": "Session Created", "type": "IVS Stream State Change" } ], "endTime": "2021-10-22T00:09:31+00:00", "ingestConfiguration": { "audio": { "channels": 2, "codec": "mp4a.40.2", "sampleRate": 48000, "targetBitrate": 160000 }, "video": { "avcLevel": "4.0", "avcProfile": "Baseline", "codec": "avc1.42C028", "encoder": "obs-output module (libobs version 27.0.1)", "targetBitrate": 3500000, "targetFramerate": 30, "videoHeight": 1080, "videoWidth": 1920 } }, "channel": { "name": "", "ingestEndpoint": "3f234d592b38.global-contribute.live-video.net", "authorized": false, "latencyMode": "LOW", "recordingConfigurationArn": "", "type": "STANDARD", "playbackUrl": "https://3f234d592b38.us-west-2.playback.live-video.net/api/video/v1/us-west-2.991729659840.channel.dY7LsluQX1gV.m3u8", "arn": "arn:aws:ivs:us-west-2:991729659840:channel/dY7LsluQX1gV" } } }

Filtrar transmissões por integridade

Para encontrar facilmente quais transmissões estão enfrentando problemas, você pode usar listStreams para filtrar transmissões ao vivo por “integridade”.

Instruções do console

  1. Abra o console do Amazon IVS.

    (Você também pode acessar o console do Amazon IVS via Console de Gerenciamento da AWS .)

  2. No painel de navegação, escolha Live channels (Canais ao vivo). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)

  3. Selecione o campo de pesquisa para Filter by health (Filtrar por integridade).

  4. Na lista suspensa, selecione filtrar por Health = STARVING (Integridade = FAMINTO).

Após a filtragem, você pode acessar a página de detalhes de um canal e selecionar a sessão de transmissão ao vivo do canal para acessar detalhes de configuração de entrada e eventos de transmissão.

Instruções da CLI

Usar a AWS CLI é uma opção avançada e exige que você baixe e configure a CLI em sua máquina primeiro. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.

Filtrar transmissões por integridade (por exemplo, STARVING):

aws ivs list-streams --filter-by health=STARVING

Dimensão de integridade do CloudWatch para ConcurrentStreams

Você pode filtrar ConcurrentStreams por uma Health específica. Consulte Métricas do CloudWatch: streaming de baixa latência do IVS.

Acessar métricas do CloudWatch

O Amazon CloudWatch coleta e processa dados brutos do Amazon IVS e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você pode obter uma perspectiva histórica de como a aplicação da Web ou o serviço está se saindo. É possível definir alarmes para determinados limites e enviar notificações ou realizar ações quando esses limites são atingidos. Para obter mais detalhes, consulte o Guia do usuário do CloudWatch.

Observe que as métricas do CloudWatch são acumuladas ao longo do tempo. A resolução diminui efetivamente à medida que as métricas envelhecem. A programação é:

  • Métricas de 1 segundo permanecem disponíveis por 3 horas.

  • Métricas de 60 segundos permanecem disponíveis por 15 dias.

  • Métricas de 5 minutos permanecem disponíveis por 63 dias.

  • Métricas de 1 hora permanecem disponíveis por 455 dias (15 meses).

Ao chamar getMetricData, é possível especificar um período de 1, 5 (recomendado), 10, 30 ou qualquer múltiplo de 60 segundos para métricas de alta resolução.

Instruções do console do CloudWatch

  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. Na navegação lateral, expanda a lista suspensa Metrics (Métricas) e, em seguida, selecione All metrics (Todas as métricas).

  3. Na guia Procurar, usando o menu suspenso sem rótulo à esquerda, selecione a sua região “inicial”, onde os seus canais foram criados. Para obter mais informações sobre regiões, consulte Solução global, controle regional. Para obter uma lista das regiões compatíveis, consulte a página do Amazon IVS na Referência geral da AWS.

  4. Na parte inferior da guia Procurar, selecione o namespace IVS.

  5. Execute um destes procedimentos:

    1. Na barra de pesquisa, insira o ID do recurso (parte do ARN, arn:::ivs:channel/<resource id>).

      Depois selecione IVS > Por canal.

    2. Se o IVS aparecer como um serviço selecionável em AWS Namespaces (Namespaces da AWS), selecione-o. Ele será listado se você usar o Amazon IVS e estiver enviando métricas para o Amazon CloudWatch. (Se o IVS não estiver listado, você não terá nenhuma métrica do Amazon IVS).

      Em seguida, escolha um agrupamento de dimensões, conforme desejado. As dimensões disponíveis estão listadas em Métricas do CloudWatch abaixo.

  6. Escolha as métricas a serem adicionadas ao gráfico. As métricas disponíveis estão listadas em Métricas do CloudWatch abaixo.

Você também pode acessar o gráfico CloudWatch da sessão de transmissão na página de detalhes da sessão de transmissão selecionando o botão View in CloudWatch (Visualizar no CloudWatch).

Instruções da CLI

Você também pode acessar as métricas usando a AWS CLI. Isso exige que você primeiro faça o download e configure a CLI em sua máquina. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.

Depois, para acessar as métricas do streaming de baixa latência do Amazon IVS usando a AWS CLI:

  • Em um prompt de comando, execute:

    aws cloudwatch list-metrics --namespace AWS/IVS

Para obter mais informações, consulte Como usar métricas do Amazon CloudWatch no Guia do usuário do Amazon CloudWatch.

Métricas do CloudWatch: streaming de baixa latência do IVS

O Amazon IVS fornece as seguintes métricas no namespace da AWS/IVS.

Métrica Dimensão Descrição

ConcurrentViews

Nenhum

Uma contagem de visualizações simultâneas em todos os seus canais ao vivo. Uma exibição é uma sessão de exibição exclusiva fazendo download ou reproduzindo vídeo de forma ativa. (Para obter uma definição mais detalhada, consulte o Glossário.) Se os canais estiverem ativos, mas em conjunto não tiverem exibições, o valor dessa métrica será zero. Se nenhum canal estiver ao vivo, a métrica não terá pontos de dados.

Unidade: Contagem

Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de visualizações simultâneas durante o intervalo configurado).

ConcurrentViews

Channel

ConcurrentViews de filtros por ARN do canal. Se um canal estiver ativo, mas não tiver exibições, o valor dessa métrica será zero. Se um canal não estiver ao vivo, a métrica não terá pontos de dados.

Essa métrica fornece dados para um canal, não para um stream. Para ver as exibições simultâneas de uma sessão de streaming específica em determinado canal, avalie a métrica de ConcurrentViews para esse canal entre as horas de início e de término da sessão de streaming.

Unidade: Contagem

Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de visualizações simultâneas durante o intervalo configurado).

ConcurrentStreams

Nenhum

É uma contagem dos seus canais que estão fazendo streaming ao vivo. Se nenhum canal estiver ao vivo, essa métrica não terá pontos de dados.

Unidade: Contagem

Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de transmissões simultâneas durante o intervalo configurado).

ConcurrentStreams

Health

Filtra ConcurrentStreams por integridade do canal. Se nenhum canal estiver ao vivo, essa métrica não terá pontos de dados.

Unidade: Contagem

Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de transmissões simultâneas para uma Health específica durante o intervalo configurado).

IngestAudioBitrate

Channel

(Métricas de alta resolução) A quantidade de dados de áudio que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível.

Unidades: bits por segundo

Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de áudio durante o intervalo configurado)

IngestFramerate

Channel

(Métricas de alta resolução) Com que frequência os quadros de animação são recebidos pelo Amazon IVS quando você transmite.

Unidade: quadros por segundo

Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de quadros de ingestão durante o intervalo configurado)

IngestVideoBitrate

Channel

(Métricas de alta resolução) A quantidade de dados de vídeo que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Uma taxa de bits mais alta pode melhorar a qualidade do vídeo, mas apenas até certo ponto.

Unidades: bits por segundo

Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de vídeo durante o intervalo configurado)

KeyframeInterval

Channel

(Métricas de alta resolução) O ponto na transmissão de vídeo em que todo o quadro é enviado, em vez de apenas as diferenças em relação ao quadro anterior.

Unidade: segundos

Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de intervalos de quadros principais durante o intervalo configurado)

LiveDeliveredTime

Nenhum

Duração total do vídeo veiculado em tempo real para todos os visualizadores.

Unidade: segundos

Estatística válida: soma

LiveDeliveredTime

Channel

LiveDeliveredTime de filtros por canal. Os valores do canal são o resource-id do canal, a última parte de um ARN.

Unidade: segundos

Estatística válida: soma

LiveDeliveredTime

Channel, ViewerCountryCode

LiveDeliveredTime de filtros por canal e código de país do visualizador. Os valores do canal são o resource-id do canal, a última parte de um ARN. Os valores de país são códigos de país ISO 3166-1 de dois caracteres. Isso permite que você responda à pergunta: de onde os meus visualizadores estão assistindo? Se o país do visualizador não puder ser determinado, será exibido como UNKNOWN.

Unidade: segundos

Estatística válida: soma

LiveInputTime

Nenhum

Duração do stream de vídeo em tempo real.

Unidade: segundos

Estatística válida: soma

LiveInputTime

Channel

LiveInputTime de filtros por canal. Os valores do canal são o resource-id do canal, a última parte de um ARN.

Unidade: segundos

Estatística válida: soma

RecordedTime

Nenhum

Duração do vídeo gravado em tempo real.

Unidade: segundos

Estatística válida: soma

RecordedTime

Channel

RecordedTime de filtros por canal. Os valores do canal são o resource-id do canal, a última parte de um ARN.

Unidade: segundos

Estatística válida: soma