[DAO: QmVrNWg] Streaming inside Decentraland has too much latency. Let's change the protocol and open new doors

by 0x1e09a216b70d46229f3fe86d3ad2e47ae01f7989 (Tobik)

Hello, everyone. Today I want to talk about a thing that is stopping the progress of Decentraland events. This thing is latency on streams.

What I mean is that every time someone tries to stream inside a screen there are many seconds between the real world and what the screen shows. Inside DCL, it’s usually about 20seconds or more depending on the server and where is the player located.

I have seen that this thing makes events less enjoyable. For example, if there is a streamer and you talk in the chat of DCL, you need to wait a lot until that person responds/interacts with you.

In this sense, events that depend on streaming are very slow. Most of the players will end up following the stream via Twitch or YouTube (if the event manager is also streaming there) and it kills the experience.

Right now, I want to make new events with cool ideas but those events depend on streaming and it’s quite impossible to do it with 20+ seconds of delay (most of the time is 40seconds).

I think this problem exists because of HLS which is the protocol Decentraland uses. From what I have seen, it is good in terms of compatibility but latency sucks. There are other options available such as WebRTC, RTMP and more. I don’t know what could work with DCL but I think we need to change this. Streaming is very important and streams make events better and open new doors.

Please open the forum post that references this proposal so we all have a nice and polite discussion.

Thanks for reading!

P.S: with better latency, we could make epic streams with games, karaokes and a bunch of stuff! Think it (: !

  • Let’s change the protocol
  • There is no need to change it
  • Invalid question/options

Vote on this proposal on the Decentraland DAO

View this proposal on Snapshot


I think that we should introduce this as an SDK additional option, because this is not a matter of just changing the protocol and call it fixed. HLS is the standard for any streaming and not all streaming options need the low latency. Currently, the client uses the old HLS.js version (0.14). 1.X HLS.js already is supporting the Apple LL-HLS specification -the community choice-, and having the low latency support is the main feature pushed forward by the 1.X HLS.js contributions. I think the most efficient of going for this is to strive on adding HLS.js 1.0 compatibility on the short term, and adding options to support WebRTC streaming on top of it for the long term. Maybe for a quick win we can tweak the current HLS settings to get the lag down to 10 secs. Going to discuss this internally with the unity-renderer contributors.

1 Like