Camada de aplicação --- CDN

1. Vídeo da Internet

vídeo

  • Definição: Uma série de imagens exibidas a uma taxa constante (como 24 ou 30 imagens por segundo).
  • Recursos: Pode ser compactado (para que a qualidade do vídeo possa ser avaliada com uma taxa de bits de 1 )

Uma imagem não compactada e codificada digitalmente consiste em uma matriz de pixels, onde cada pixel é codificado com bits que representam cor e brilho.

  • A relação entre taxa de bits e compressão de áudio e vídeo:
    quanto maior a taxa de bits, mais rápida será a velocidade de transmissão de dados.Simplificando, quanto maior a taxa de bits, melhor será a qualidade do áudio e do vídeo, mas maior será o arquivo codificado; se a taxa de bits for menor, a situação é exatamente o oposto.
    • Por exemplo: vídeo de baixa qualidade: 100kbps; streaming de filmes de alta resolução: mais de 3Mbps; mais de 10Mbps para streaming em 4K.

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

transmissão de vídeo

Streaming de vídeo refere-se à transmissão de dados de vídeo na forma de um stream . 这种传输方式可以实时观看视频内容,而不需要等待整个视频文件下载完成. A tecnologia de streaming de vídeo usaProtocolos de mídia de streaming, como HTTP Live Streaming (HLS) e Real-time Messaging Protocol (RTMP), etc., para que os vídeos possam ser reproduzidos sem problemas em vários dispositivos. A tecnologia de streaming de vídeo é amplamente utilizada na reprodução de vídeo online, transmissão ao vivo, videoconferência e outros campos.

transmissão de vídeo

Insira a descrição da imagem aqui

  • Definição:
    Streaming de vídeo é um vídeo da Internet reproduzido em um monitor enquanto os dados chegam ao seu computador pela Internet . Ao contrário do vídeo da Internet para download, o streaming de mídiaA reprodução começa assim que os dados compactados são recebidos, eliminando a preocupação com vírus que podem acompanhar os downloads. No entanto, como o vídeo é reproduzido enquanto recebe dados, o vídeo pode ser interrompido por conexões lentas e pode pausar e reiniciar automaticamente na tentativa de "armazenar em buffer" os dados. Além disso, ao contrário dos vídeos para download, o streaming de vídeos não "permanece" no seu computador; o streaming de vídeos só estará acessível ao site se o site principal decidir continuar a publicar o vídeo.

Portanto, o streaming de vídeo é um método de transmissão, enquanto o streaming de vídeo é um método de reprodução . 视频流可以以流式视频的方式进行播放,而流式视频必须使用视频流技术进行传输.

  • Métrica de desempenho: rendimento médio de ponta a ponta

A taxa de transferência média ponta a ponta refere-se ao número de dados transmitidos com sucesso por unidade de tempo, ou seja, a taxa de transmissão. A taxa de transferência e a largura de banda são dois conceitos diferentes. A largura de banda refere-se à capacidade do link e a unidade é bits por segundo (bps), que é o valor do projeto; enquanto a taxa de transferência é a taxa de transmissão real testada, também em bps. O rendimento médio ponta a ponta geralmente é usado para medir o desempenho da transmissão da rede, que pode ser avaliado por meio do atraso da rede, velocidade de transmissão e outros indicadores.

  • Exemplo: Empresas que utilizam streaming de vídeo: Netflix, YouTube (Google), Amazon e Youku, etc.

2. Streaming HTTP e DASH

2.1 Transmissão HTTP

  • Definição:
    streaming HTTP é uma tecnologia para transmissão de dados em tempo real sob o protocolo HTTP. Ele permite que o servidor transmita dados para o cliente sem esperar que toda a resposta seja totalmente gerada . Este método pode realizar aplicações com altos requisitos de tempo real, como transmissão de vídeo ao vivo, streaming de áudio, etc. O streaming HTTP pode ser implementado de várias maneiras, incluindo pesquisas longas, eventos enviados pelo servidor (eventos enviados pelo servidor) e WebSocket. Essas tecnologias permitem que o servidor envie dados ativamente ao cliente sem exigir que o cliente os solicite ativamente. A implementação do streaming HTTP pode proporcionar uma melhor experiência do usuário e uma comunicação de rede mais eficiente.

  • Recursos:
    No streaming HTTP, o vídeo é armazenado apenas no servidor HTTP como um arquivo normal, e cada arquivo possui um URL específico

  • Como funciona o streaming de vídeo HTTP:

  • 1. O cliente inicia uma solicitação

O cliente usa o protocolo HTTP para iniciar uma solicitação de reprodução de vídeo (conexão TCP) para o servidor. A solicitação geralmente contém o URL do vídeo ou outros parâmetros necessários.

    1. Resposta do servidor

Após receber a solicitação do cliente, o servidor começa a preparar os dados de vídeo. O servidor usa um formato de vídeo compatível com streaming, como MPEG-DASH (Dynamic Adaptive Streaming over HTTP) ou HLS (HTTP Live Streaming).

    1. Cliente recebendo e jogando

Os bytes de vídeo recebidos pelo cliente são coletados no cache do aplicativo. Quando o número de bytes no cache excede o limite definido, o aplicativo cliente começa a reproduzir. Especificamente, um aplicativo de streaming de vídeo busca periodicamente quadros do cache do aplicativo cliente, descompacta-os e os renderiza na tela do usuário .O aplicativo de streaming de vídeo começa a reproduzir o vídeo assim que o recebe, enquanto armazena em buffer os quadros da última parte do vídeo.

Através das etapas acima, o streaming de vídeo HTTP realiza transmissão e reprodução de vídeo em tempo real. Este método pode ser ajustado de forma adaptativa de acordo com as condições da rede e o desempenho do dispositivo para fornecer uma melhor experiência de visualização. Ao mesmo tempo, o uso de transmissão segmentada pode melhorar a eficiência da transmissão em rede e, ao mesmo tempo, garantir a reprodução contínua de vídeo.

  • Desvantagens: Embora a quantidade de largura de banda disponível varie para diferentes clientes ou para o mesmo cliente em momentos diferentes,Todos os usuários recebem o mesmo vídeo codificado. (Isso levou ao desenvolvimento de um novo tipo de streaming HTTP, nomeadamente DASH)

2.2 TRAÇO

DASH (Dynamic Adaptive Streaming over HTTP) (Dynamic Adaptive Streaming baseado em/via HTTP)
使用DASH后,每个视频版本存储在HTTP服务器,每个版本都有一个不同的URL

  • Características:
    • Em colisão,A codificação de vídeo é dividida em diversas versões, cada uma com diferentes taxas de bits correspondentes a diferentes níveis de qualidade.
    • Solicitação do cliente : o cliente solicita dinamicamente pedaços de dados de vídeo de diferentes versões, com vários segundos de duração. 使用HTTP GET请求报文一次选择一个不同的块.
    • Largura de banda e versão :
      • Quando a largura de banda é maior :alta velocidadebloco de versão
      • Quando a largura de banda é baixa :taxa baixabloco de versão
    • Adaptabilidade à mudança de largura de banda : se a largura de banda ponta a ponta mudar durante a sessão, o DASH permite que o cliente se adapte à largura de banda disponível . (Por exemplo, os usuários móveis podem sentir flutuações na largura de banda à medida que se movem em relação à estação base.)
  • Documentos de aviso :
    Insira a descrição da imagem aqui
  • Visão geral

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

3. Rede de distribuição de conteúdo CDN

A maneira mais direta para uma empresa de vídeo na Internet fornecer serviços de streaming de vídeo pode ser construir um único data center de grande escala para armazenar todos os vídeos e fornecer streaming de vídeo para clientes em todo o mundo.
Mas existem três problemas :
1. A possibilidade de atraso de travamento aumenta à medida que aumenta o número de links de comunicação intermediários .
2. 流行的视频可能经过相同通信链路多次发送,导致网络带宽的浪费和公司需要给ISP的费用增加.
3.ponto unico de falha. Se o data center travar, o vídeo não poderá ser enviado.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

3.1 CDN

Insira a descrição da imagem aqui

  • Definição:
    Content Delivery Network (CDN: Content Delivery Network ) é um sistema de rede distribuído que melhora o desempenho e a confiabilidade de sites ou outros aplicativos da Internet, armazenando conteúdo em cache em vários locais geográficos e servidores.

  • Classificação:
    CDN dedicado, de propriedade do próprio provedor de conteúdo. Por exemplo, o CDN do Google distribui vídeos do YouTube e outros tipos de conteúdo.
    Uma CDN de terceiros que publica conteúdo em nome de vários provedores de conteúdo.

  • Como funciona o CDN :Distribua o conteúdo do seu site perto dos usuários para que eles possam obter rapidamente o que precisam. Isto é conseguido armazenando conteúdo em vários nós distribuídos ao redor do mundo. 当用户请求网站内容时,CDN会根据用户的地理位置和网络条件选择最合适的节点将内容传递给用户.

  • As principais vantagens do CDN incluem:

    性能提升:CDN可以将内容存储在靠近用户的地方,从而减少内容的传输延迟和网络拥塞,提高用户访问网站的速度和性能。
    可靠性增强:CDN可以通过多个节点同时提供内容,如果某个节点出现故障或网络故障,其他节点可以自动接替,
               确保用户可以继续访问网站。
    安全性提高:CDN可以提供DDoS攻击防护、CC攻击防护等安全服务,保护网站免受网络攻击。
    节省成本:  使用CDN可以减少服务器负载和带宽成本,提高网站的成本效益。
    

O CDN é amplamente utilizado em diversas aplicações da Internet, como sites, streaming de vídeo, jogos, etc., para melhorar a experiência do usuário e o desempenho do site.

  • Princípios de posicionamento de servidor
    • vá fundo
      Insira a descrição da imagem aqui

    • Convide para ser um convidado
      Insira a descrição da imagem aqui

3.2 Operação CDN

Quando um cliente usa um comando do navegador para recuperar um vídeo específico (identificado por uma URL),
o CDN deve interceptar a solicitação para:
1.确定适合的CDN服务集群。
2.将 客户请求重定向到该集群某台服务器。
A maioria dos CDNs utiliza DNS para interceptar e redirecionar solicitações. Como mostrado abaixo:
Insira a descrição da imagem aqui

  • 1. O usuário acessa a página web do URL de destino
  • 2. O host do usuário envia uma solicitação DNS
  • 3. O servidor DNS local (LDNS) retransmite a solicitação DNS para o servidor autoritativo e obtém um nome de host para o domínio KingCDN
  • 4. O LDNS envia a segunda solicitação, enviando o nome do host obtido no passo 3, e obtém o endereço IP.
  • 5.LDNS encaminha o endereço IP do serviço de conteúdo CDN
  • 6. Após receber o IP, o cliente cria uma conexão TCP e envia uma solicitação HTTP GET.

3.3 Estratégia de seleção de cluster

A estratégia de seleção de cluster do CDN é um dos núcleos da implantação do CDN. O objetivo é direcionar os clientes para um determinado cluster de servidor ou data center no CDN. As estratégias comuns de seleção de cluster incluem:

地理最近策略:指派客户到地理上最为临近的集群,这种选择策略忽略了时延和可用带宽随因特网路径时间而变化,总是为特定的客户指派相同的集群。
实时测量策略:基于集群和客户之间的时延和丢包性能执行周期性检查,这种策略可以实时测量集群和客户之间的网络路径,并根据测量结果选择最优的集群。

Além disso, existem outras estratégias de seleção de cluster, como estratégias baseadas em balanceamento de carga, estratégias baseadas em resolução de DNS, etc. Resumindo, a estratégia de seleção de cluster do CDN é melhorar o desempenho e a confiabilidade do site, selecionar o cluster ideal com base em diferentes fatores e fornecer uma melhor experiência ao usuário.


  1. A taxa de bits refere-se ao número de bits transmitidos por segundo, em bps (Bit Per Second). Indica quantos bits são necessários para representar os dados de áudio e vídeo codificados (compactados) por segundo, e o bit é a menor unidade em binário, 0 ou 1. ↩︎

Acho que você gosta

Origin blog.csdn.net/qq_74259765/article/details/131777615
Recomendado
Clasificación