Existem várias soluções que são mais ou menos padrão do setor. Eu recomendaria contra a criação de outras soluções hacky para o seu problema.
Primeiro, os grandes sites de fluxo contínuo usam Redes de fornecimento de conteúdo (CDNs), onde o conteúdo real é hospedado. Esses servidores são diferentes dos servidores da Web (que hospedam a página da Web ou scripts) e operam de forma independente; Seu objetivo principal é hospedar o conteúdo de vídeo e armazená-lo mais perto da localização do usuário. O trabalho de seu aplicativo da Web seria substituir o link da fonte de vídeo que aponta para o servidor A com um link direto para o servidor de conteúdo - o que estiver mais próximo do usuário ou o que estiver respondendo mais rápido caso de balanceamento). No caso de seus servidores de segunda camada, você deve configurar um servidor da web neles (como o Nginx) e vincular os vídeos diretamente.
Observe que, quando você inspeciona as solicitações de rede do seu navegador no YouTube, elas usam domínios diferentes. O conteúdo do vídeo vem de uma fonte completamente diferente do site real - é mais provável que seja um servidor perto de você, com quem seu provedor de serviços de Internet tem uma conexão de peering direta.
Certifique-se de que seus vídeos, se forem arquivos MP4, tenham seus átomos MOOV no início do arquivo. Isso diminui o atraso de inicialização, uma vez que o cliente pode começar a reproduzir mesmo se o arquivo inteiro ainda não tiver sido transmitido. Com o ffmpeg, você pode fazer isso adicionando a opção -movflags +faststart
durante a codificação (use ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4
para apenas corrigir um arquivo existente). Ou use o programa qt-faststart
(ou alguma implementação dele) em um arquivo existente.
A melhor opção seria emparelhar a abordagem CDN com o uso de fluxo adaptável HTTP (DASH ou HLS). Aqui, em vez de uma fonte de vídeo em HTML5 simples que provavelmente é um arquivo grande, você faria o streaming de partes individuais do vídeo. Isso leva a tempos de inicialização mais rápidos e melhor gerenciamento de diferentes larguras de banda do cliente. No entanto, é muito mais complicado configurar do zero. Há, é claro, fornecedores que oferecem soluções de streaming do tipo DASH, em que você só precisa fornecer o vídeo de origem e implementar o player em seu site. Eles cuidarão da codificação e das coisas da CDN. Alguns exemplos são Bitmovin, Encoding.com ou Wowza.