A AWS pode suportar Live Streaming baseado em RTMP com CloudFront ou CloudFormation?

1

Tanto quanto eu entendo ler todos esses artigos:

docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Tutorials.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/wowza-creating-stack.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp-creating.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp-values-specify.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AMS5.0SubscribingToAMS.html docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/LiveStreamingAdobeMediaServer5.0.html

E, em particular, o seguinte:

link link

Parece que NÃO é possível espelhar um RTMP de transmissão ao vivo usando o CloudFront com uma Web ou RTMP Distribution no TCP 80 ou TCP 1935, já que essas distribuições são baseadas na entrega / espelhamento / cache de arquivos estáticos para players e vídeo. arquivos (FLV).

O suporte na transmissão ao vivo é oferecido pela Amazon através da pilha do CloudFormation e da integração do Adobe Media Server ou WOWZA, mas em nosso cenário o cliente já possui seu próprio servidor de transmissão Red5, já em funcionamento e configurado.

Como é possível usar o CloudFront para espelhar uma conexão RTMP Live Streaming no TCP 80 ou 1935, usando um servidor de origem e fluxo RTMP que está sendo executado em um Red5, em vez de entregar um arquivo FLV estático de uma hospedagem S3?

Eu gostaria de entender se essa solução é suportada pela Amazon e onde encontrar a base de conhecimento para realizar essa configuração.

Basicamente, em nosso cenário, já temos o RTMP exposto na web pública, só precisamos da AWS para armazená-lo no CloudFront e servir para outros clientes.

Queremos tentar fazer uma distribuição na Web apenas para o Flash Player, que será baixado pelos clientes para ver o streaming, e gostaríamos que o player apontasse para o URL de espelhamento da AWS CDN para a transmissão ao vivo.

Isso é possível e como?

Muito obrigado Atenciosamente

    
por KRiSh05 20.04.2016 / 12:27

2 respostas

0

Eu passei algum tempo trabalhando nisso recentemente. A resposta é não, como outra resposta a essa pergunta indica.

No entanto, você pode essencialmente criar o seu próprio RTN CDN usando o AWS. Você pode configurar várias instâncias de nginx-rtmp como bordas.

A documentação do

nginx-rtmp pode ser encontrada no GitHub do projeto ( link ). Você basicamente executa um monte deles da maneira que preferir (instâncias EC2, ECS como eu estou fazendo, ou como quiser), mas você os configura para puxar do servidor de entrada.

Você carrega as bordas e puxa-as para visualização.

Isso fica um pouco complicado, já que você está basicamente lançando seu próprio CDN do zero usando instâncias do AWS EC2 e provavelmente quer ter pontos de distribuição em várias regiões. Dependendo da sua escala, pode fazer sentido ter nós intermediários que servem para puxar da origem e redistribuir para as bordas regionais.

Veja a diretiva "pull" no nginx-rtmp. Uma configuração de amostra:

rtmp {
   server {
       listen 1935;

       application streamapp {
           live on;
           pull rtmp://my-streaming-server.com:1935/streamapp;
      }
   }
}
    
por 20.09.2016 / 02:32
1

Uma distribuição do CloudFront pode fornecer conteúdo de streaming usando os seguintes protocolos de streaming baseados em HTTP:

  • Fluxo dinâmico do Adobe HTTP (Adobe HDS)
  • Transmissão ao vivo do Apple HTTP (Apple HLS)
  • Microsoft Smooth Streaming
  • MPEG-DASH

O Cloudfront foi projetado para distribuir tráfego HTTP VOD / Live Stream e RTMP VOD. Para o Live Streaming RTMP, você pode querer consultar outros serviços da CDN, como o Akamai. Você deve ser capaz de usar os dois serviços juntos se quiser usar o CloudFront para o seu tráfego HTTP e o Akamai para o seu RTMP Live Streams.

    
por 13.07.2016 / 17:43