Hello,
I'm trying to achieve very low latency streaming of games using OBS. I would like to go below 500ms end-to-end, ideally below 200ms. The goal is to play game on my TV screen, connected to a low resource Linux based Media Center (Atom CPU, NVidia ION). The game run on my Windows 8 "high end" computer connected to the Media Center trough CPL link.
The ping between the two computers vary from 3ms to 15ms, so CPL seems to not introduce high delays. I'm using nginx-rtmp-module as RTMP server.
The setup work fine, I've tried XBMC, mplayer, vlc on Media Center side and all works (vlc needs rtmpdump).
The problem is that the delay is around 3-5 seconds, I did not measure it precisely yet as it is definitely to high for gaming.
I've tried to tune all three parts of the setup with no result.
Here is my settings:
OBS:
Video Encoding:
Enable CBR: checked
Enable CBR padding: checked
bitrate : 500kb/s
buffer size : 50
Audio Encoding:
Codec: MP3
bitrate: 96
Video:
resolution: 1280:720
downscaling: None
Advanced:
Multi-thread: unchecked
priority: High
x264 preset: ultrafast
x264 option: --tune zerolatency
network interface: "myipaddress"
Automatic low latency mode: checked
nginx at the en of my config file:
media center playing command
If I did not mention a parameter, this is because it is set to the default option.
Maybe what I try to achieve is not possible, but I see no reason that its not. I saw interesting discussion saying x264 should be capable of doing so. I even read : "Videoconferencing? Pah! I’m playing Call of Duty 4 over a live video stream!" (source : http://x264dev.multimedia.cx/archives/249 )
Thank you in advance.
I'm trying to achieve very low latency streaming of games using OBS. I would like to go below 500ms end-to-end, ideally below 200ms. The goal is to play game on my TV screen, connected to a low resource Linux based Media Center (Atom CPU, NVidia ION). The game run on my Windows 8 "high end" computer connected to the Media Center trough CPL link.
The ping between the two computers vary from 3ms to 15ms, so CPL seems to not introduce high delays. I'm using nginx-rtmp-module as RTMP server.
The setup work fine, I've tried XBMC, mplayer, vlc on Media Center side and all works (vlc needs rtmpdump).
The problem is that the delay is around 3-5 seconds, I did not measure it precisely yet as it is definitely to high for gaming.
I've tried to tune all three parts of the setup with no result.
Here is my settings:
OBS:
Video Encoding:
Enable CBR: checked
Enable CBR padding: checked
bitrate : 500kb/s
buffer size : 50
Audio Encoding:
Codec: MP3
bitrate: 96
Video:
resolution: 1280:720
downscaling: None
Advanced:
Multi-thread: unchecked
priority: High
x264 preset: ultrafast
x264 option: --tune zerolatency
network interface: "myipaddress"
Automatic low latency mode: checked
nginx at the en of my config file:
Code:
rtmp {
server {
listen 1935;
chunk_size 256;
application live {
live on;
record off;
wait_key on;
interleave on;
publish_notify on;
sync 10ms;
wait_video on;
}
}
}
media center playing command
Code:
$ mplayer rtmp://localhost/live/game -nolirc -vo vdpau -vc ffh264vdpau -nocache -nosound -fs
$ rtmpdump -r rtmp://localhost/live/game --live --quiet | mplayer -vo vdpau -vc ffh264vdpau -nocache -nosound -fs -
$ rtmpdump -r rtmp://localhost/live/game --quiet | cvlc -
If I did not mention a parameter, this is because it is set to the default option.
Maybe what I try to achieve is not possible, but I see no reason that its not. I saw interesting discussion saying x264 should be capable of doing so. I even read : "Videoconferencing? Pah! I’m playing Call of Duty 4 over a live video stream!" (source : http://x264dev.multimedia.cx/archives/249 )
Thank you in advance.