4 ms·
Most important thing for me is the latency of the streaming solution. Discord seem to do really well here, with <1 second latency times. You done any measurem
by codefined 5y ago
Most important thing for me is the latency of the streaming solution. Discord seem to do really well here, with <1 second latency times. You done any measurements with your solution to suggest how much latency there is between the server and the client?
- GOATS- 5y agoIf you're connecting to the RTMP server directly, you can get about 1-2s latency. However, due to the additional overhead of the conversion process to HLS, I'm getting about 6-10 seconds of latency. I have considered looking into WebRTC, but it seems a bit more complicated to work with than just running an RTMP server and calling it a day. Both Apple and Twitch have their own implementation of low latency HLS, so it could be worth looking into how feasible it would be to setup something similar. https://developer.apple.com/documentation/http_live_streaming/enabling_low-latency_hls https://developer.apple.com/documentation/http_live_streamin...
- circularfoyers 5y agoLowering hls_fragment[1] to 1s should help out a little with the latency. This is what I've done in the past with a similar project as yours, Open Streaming Platform[2], with good results. Since you mentioned WebRTC for streaming to provide even lower latency, this is what I believe Project Lightspeed has achieved[3]. Might be something you'd be interested in, if you hadn't already seen it. [1] https://wiki.openstreamingplatform.com/Usage/Streaming#osp-nginx-rtmp-default-configuration https://wiki.openstreamingplatform.com/Usage/Streaming#osp-n... [2] https://wiki.openstreamingplatform.com/Usage/Streaming#osp-nginx-rtmp-default-configuration https://wiki.openstreamingplatform.com/Usage/Streaming#osp-n... [3] https://github.com/GRVYDEV/Project-Lightspeed https://github.com/GRVYDEV/Project-Lightspeed
- GOATS- 5y agoI've experimented a bit with lowering the hls_fragment value and the playlist length, and found that fragments smaller than 2 seconds caused too much buffering on the end client for it to be stable - which resulted in higher latency than before. I'm looking into the latency issues and I've started drafting up possible solutions. Low latency MPEG-DASH might be something to experiment with. It won't reach sub-second latency, but it will definitely be better than HLS.