Aplicação de streaming com H.264 / H.265 em tempo real para os clientes do navegador

0

Estou tentando criar uma solução que transmita o conteúdo visual de um aplicativo do Windows (criado com o Unity 2017) para os clientes do navegador. Esses aplicativos fornecem conteúdo de alta qualidade que precisa ser transmitido de maneira 1: 1 em alta qualidade com a menor latência possível. Em essência, é um caso de uso muito semelhante ao streaming de jogos, pois além do streaming, um canal de comunicação bidirecional entre o cliente e o aplicativo transmitido é estabelecido, para que o usuário possa interagir com o aplicativo em execução no servidor.

O vídeo é capturado diretamente de dentro do Unity e canalizado como vídeo bruto para um processo FFMPEG gerado antes. O FFMPEG agora converte os dados do Unity em um fluxo adequado. Além disso, eu gostaria de usar o NVIDIA Video Codec SDK para acelerar o processo.

O H.264 / H.265 é um formato adequado para esse caso de uso? Em caso afirmativo, qual servidor poderia ser usado para transmitir o fluxo de vídeo e o que pode ser usado no lado do cliente (por exemplo, BroadwayJS link )? Se não, o que você sugeriria?

Nota: Eu já tentei implementar uma solução com JSMPEG (usando mpeg-1 / mpeg-ts, ffmpeg e um servidor personalizado) , mas essa implementação tem vários problemas, como o uso de alta largura de banda e o alto uso da CPU. Espero que, ao usar o H.264 / H.265 em combinação com o NVIDIA Video Codec SDK, eu possa pelo menos diminuir o uso de hardware e largura de banda.

No lado do cliente, o Flash ou o Silverlight não podem ser usados.

    
por scriptify 29.12.2017 / 09:15

0 respostas