I am trying to locally transfer television capture from one computer to another, but my latency is higher than I want.
My setup is 12 GB, i5 x4 3.2ghz, GeForce 970, Elgato HD60 Pro capture card. This machine runs an instance of Ubuntu with Nginx + RTMP ( https://github.com/arut/nginx-rtmp-module ).
It comes with capture / streaming software that allows you to adjust bandwidth + resolution. He set the stream to local rtmp rtmp://192.168.1.200/capture.
On my receiving machine, I tried using VLC (Open network) as well as FFPLAY ( ffplay -fflags nobuffer rtmp://192.168.1.200/capture -loglevel verbose).
FFPLAY has less latency than VLC, which seems to make sense given the flag nobuffer. However, this is still about 2-3 seconds until I see the correct updates.
- Capture preview response time almost immediately (~ 100 ms maybe)
- The response time from the FFPLAY stream is 2-3 seconds.
I assume this means there is a bottleneck between the Elgato server and RTMP or between the RTMP server and my ffplay stream or both.
Things I tried:
- Increase data rate per second from 1.00 to 8.00
- Lower capture quality from highest to lowest
- Reduce capture resolution from 1080 to 720 to standard
- Reduce the frame rate from 60 frames per second to 30 frames per second.
- Use FFPLAY instead of VLC
. RTMP NGINX . live on .
, ? < 1.
!