Como transmitir um jogo a um amigo com o mínimo de atraso
P>Eu primeiro testei algumas opções diferentes comumente conhecidas para isto:
ul><Twitch tem cerca de 12-15 segundos de atraso.Hitbox tem cerca de 5 segundos de atraso.Steam Broadcasting tem cerca de 5 segundos de atraso. Esta é provavelmente a melhor opção para a maioria das pessoas.Google Hangouts e o compartilhamento de tela do Skype quase não têm atraso, mas a compressão que estes programas usam não é bem adequada para jogos. Você provavelmente terá problemas de framerate com estas soluções.O melhor resultado que encontrei foi a transmissão do OBS em modo "zerolatency" para um servidor RTMP rodando no computador com o qual você visualiza a transmissão, e então visualizar a transmissão usando o ffplay (parte do pacote ffmpeg) com a bandeira nobuffer. Usando esta solução, eu recebo uma taxa de frames razoável com < 1 segundo de atraso ao fazer streaming para localhost.
Eu achei mais fácil configurar a visualização no OS X, e vou fornecer os passos de configuração abaixo. Você também pode encontrar instruções do Linux aqui. Windows is probably more difficult to set up, but the basic idea is the same.
On the viewing computer:
- Port forward port 1935 to the viewing machine. You’ll need to look up how to do this for your router.
- Install homebrew if needed.
- Install ngnix with the rtmp module (simple web server).
- brew tap homebrew/nginx
- brew install nginx-full --with-rtmp-module
- Install ffmpeg with ffplay.
- brew install ffmpeg —with-ffplay
- Add the following to the bottom of /usr/local/etc/nginx/nginx.conf :
- rtmp {
- server {
- listen 1935;
- chunk_size 4096;
- application live {
- live on;
- record off;
- }
- }
- }
- Restart nginx:
- sudo nginx -s stop
- sudo nginx
- Once the broadcasting computer is streaming, start viewing with:
- ffplay -fflags nobuffer rtmp://127.0.0.1/live/game
- I use ffplay and not VLC, because I couldn’t figure out how to disable buffering on VLC.
On the broadcasting computer:
- Download/Open Open Broadcaster Software.
- Setup stream on OBS.
- In settings, change the stream “tune” zerolatency (location of this menu varies).
- Set the stream type to custom with url “rtmp:///live” with stream key/path of “game”.
- I’ve found that you need the IPv4 address, not IPv6.
- Start streaming with OBS.
Artigos semelhantes
- Como consertar o atraso em um amigo de jogo tencente
- Como transmitir no YouTube Live e LiveStream sem atraso (como os canais de TV)
- O que significa "amigo para todos é amigo para ninguém"?
- Estou partilhando jogos com um amigo no Xbox, mas quero mudar minha senha. Isto vai impedir o meu amigo de jogar os jogos que comprei?