Uma solução de software conterá inerentemente muito atraso devido ao seguinte:
- A leitura de dados do framebuffer da GPU é muito lenta.
- Mesmo com uma taxa de bits de destino em torno de 80% de gigabit ethernet (você não quer 100% de utilização devido às deficiências resultantes da saturação), a maioria dos codecs de vídeo usará uma quantidade enorme de CPU para codificar 1080p em tempo real. Mesmo se você tivesse codificação assistida por GPU, você estaria exaurindo o poder de processamento do próprio dispositivo que está renderizando seu jogo, provavelmente diminuindo em muito a taxa de quadros do seu jogo, devido à baixa capacidade de multitarefa entre programas separados por parte das GPUs.
- A própria E / S Ethernet gigabit sustentada - apenas enviando os dados finalizados pelo fio - consome uma CPU significativa devido a interrupções. À custa de alguma latência, você poderia usar a moderação de interrupção, um recurso dos novos chipsets de ethernet do servidor, para reduzir o uso da CPU.
Se você quiser que ele seja suave e agradável, use uma placa de captura.
Veja um exemplo de um desses dispositivos: link
Este dispositivo tem o conceito geral de:
- Você conecta o dispositivo à sua placa gráfica
- Você conecta seu monitor ao dispositivo
- Você conecta a saída ethernet do dispositivo em um computador ou roteador
- Você acessa a interface da web do dispositivo pela ethernet e tem streaming de vídeo, sem perdas, em tela inteira, se desejar
Como o dispositivo usa hardware dedicado para codificar os quadros e transmiti-los pela ethernet, ele será muito suave e alto em FPS e confiável. Também simplifica muito a configuração do seu software, eliminando a necessidade de soluções caras de pipeline em sua plataforma de jogos.
Se você não quer gastar dinheiro, e pode viver com atraso extremo e FPS muito baixo, você pode tentar algo como escrever um pipeline no Gstreamer ou VideoLAN (VLC) para capturar o framebuffer local, codificá-lo em alguns codec de vídeo, e transmiti-lo via Shout ou RTP ou RTSP ou protocolo de streaming similar, em seguida, faça o download / streaming do seu computador mais lento. Mas como eu te avisei, isso será lento.