Finding a bottleneck when capturing a TV RTMP delay

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.

!

+4
2

- , . , H.264 (AVC) - B-.

- Wireshark . , . RTMP . . - . , .

, - http://www.ineoquest.com/.

+1

, . , . , .., . , , HDMI. , ( ) , , PCI . . 1 , - : " = "

0

Source: https://habr.com/ru/post/1676705/


All Articles