[DAO: bafkrei] Develop new Low Latency Video Streaming components for SDK and builder

by 0xb7c0dc404c2ce1b2226c709eca6d8479b1fb80dc (test#80dc)

Should the following Tier 4: up to $60,000 USD, 6 months vesting (1 month cliff) grant in the Platform Contributor category be approved?

Abstract

Video streaming in Decentraland has a 10-20 sec delay causing interactive video apps to be infeasible. Sub 1 sec streaming is set to grow significantly over 5 years for apps in education, media and entertainment.

Facebook’s metaverse is built with Ultra Low Latency at its core. Decentraland is MISSING this feature. Let’s fix this!!

Video of working prototype

IMAGE ALT TEXT

Grant is to complete development to Dcl’s dev standards.

About me

  • Expert in low latency remote control systems, IoT and WebRtc
  • 4x CTO. Delivered over 500 software projects.
  • 857 Github commits in last year

Grant size

48,000 USD

Beneficiary address

0xC8Fede4B21b462b1b5fEB0AcFC0513012B1795F8

Email address

lowlatencydcl@gmail.com

Description

Did you know, communication with astronauts on Earth’s moon has a latency (delay) of 1.25 seconds?

Due to the protocols used, live video in the Decentraland world is delayed at around 10-20 seconds. This makes live events infeasible. For example, live video calls or interactive events take 20 seconds to get a response.

This project introduces new ultra low latency streaming components to the decentraland SDK and builder to support ultra low latency video. Latency will reduce to ~1 second.

These components will allow scene builders to easily incorporate ultra low latency video in their scenes.

Background

In recent years, global investment in technology and infrastructure underlying ultra low latency video streaming has been significant. Live streaming is set to explode in the coming years with low latency video being a big driver behind new applications in entertainment, gaming, media, education, acedemia.

Ultra low latency video streaming typically operates on a sub 1 second delay.
This project will integrate this hot, deep technology into the Decentraland platform.

Competitive Advantage

Metaverses such as Facebook’s Meta already have native low-latency video
and are building a strong portfolio of apps based on this technology. Other
Metaverses do not yet have low latency video streaming technology.

Experimental Prototype

A video demonstration of the components I have developed is here:

This video shows a working prototype of an experimental Decentraland SDK component featuring a low latency video stream.

The video is streaming from North America to a video streaming server in Hong Kong (on Microsoft Azure) and then back to North America and into a Decentraland scene running in the browser.

The clock times on the right side are the current time whereas the time on the left, in the Decentraland scene, are latent due to the transit time around the planet and the subsequent decoding and rendering of the video.

Total time is demonstrated to be around 1 second.

A 5 year old laptop with no GPU was used for the test. The video resolution is set to 640x360.

The experimental prototype includes modifications to the Decentraland Unity Renderer and Kernel and adds a new video component to the SDK.

Example Use Cases

It is difficult to imagine a virtual future that runs on a 20 second delay. Use cases that need lower latency might include:

  • Any live interaction such as video calls.
  • Live events where people communicate from the virtual world to the real world.
  • Any use cases that include augmentation of the virtual world with a real object (augmented virtuality).
  • Virtual workspaces
  • Virtual learning spaces that requires interaction
  • Remote control of real world devices such as drones. (yikes!)
  • Immersive commerce
  • Gaming applications

Existing DAO pre-Proposal

An existing pre-proposal that covers this feature is here, from Tobik#7989. Note however this is a request for a protocol change, the proposed feature would likely be an additional component so that backwards compatibility is maintained:

Specification

High Level Summary

The project objective is to create a feature to enable scene builders to easily incorporate low latency video into their scenes. To be successful the feature needs to be well engineered, tested, documented, incorporate ideas from dev and user communities and comply with Decentraland standards.

Deliverables

  • Deliver WebRTC ultra low video and audio streaming components to the Decentraland SDK.
  • Support for Decentraland web client and feasibility of development on new Desktop client on supported platforms.
  • Complete all relevant requirement, archiectural, design, code, test and deployment work to decentraland’s standard via github.
  • Run relevant user testing and trials.
  • Operate a streaming test server until mid November 2022 for development and community testing.
  • Create test scenes, sdk documentations, blogs and assist Decentraland marketing team on new feature launch.
  • Be responsive to community and be present in relevant channel on Discord.
  • Attend some sweet dcl live events that use the new technology.

Preliminary Work Completed

A feasibility study was completed prior to grant application request:

  • Talking to potential users and understanding their applications.
  • Review of code and relevant architectural components.
  • Reading Dcl code standards and architecture documentation.
  • Research of ECS (sdk) structure and dev of new components.
  • Review of existing decentraland video components.
  • Review of WebRTC options for Unity and their pros and cons.
  • Building new environment across Explorer, Kernel and Unity Renderer. Building and debugging scenes.
  • Experimentation and development of prototype including modifications the the sdk Unity Renderer and Kernel.
  • Running live streams in Preview scenes in decentraland.
  • Testing live streams on Mac, Windows and across browsers. (including mobile testing outside of dcl explorer)
  • Setting up professional streaming server in Hong Kong (Azure) and running global tests clients in North America and Asia.
  • Achieving sub 1s in a scene in dcl explorer and performance testing (fps-performance).
  • Testing audio performance.

Personnel

About the Developer

A 4x CTO with a focus on smaller entrepreneurial companies. Successfully lead and delivered 500+ software projects. Main development language C#.

Last project was an enterprise grade worldwide remote control and entertainment platform, cloud native on Microsoft Azure that includes low latency video and remote control via IoT. Video and audio delivered globally over WebRtc.

Software architect with extensive experience across requirements gathering, analysis, design, coding, testing, deployments, cloud computing.

Projects in many domains including financial software, CTO of software development house, entrepreneur - build a number one major financial software product line in SE Asian country.

Founding member of an early crypto ICO. Lead team delivering Sidechains, Masternodes and early payment channels.

Other relevant software skills Typescipt, Javascript, Unity. Backend APIs.

Education - University of Manchester, UK.

More specific credentials available upon request at: lowlatencydcl@gmail.com
Discord: carl#9146

Roadmap and milestones

Scope

  • Deliver WebRTC ultra low video and audio streaming components to the Decentraland SDK.
  • Support for Dcl web client and feasibility of development on new Desktop client.
  • Complete relevant requirement, architectural, design, code, test and deployment work to decentraland’s standard.
  • Run relevant user testing and trials.
  • Create test scenes and sdk documentation.
  • Be responsive to community and be present in relevant channel on Discord.
  • Attend some sweet dcl live events that use the new technology.

Milestones One

  • Goal here is to leverage the experimental prototype as a starting point for feedback from the development community.
    • Commit prototype to test branch in Dcl github repositories (Unity Renderer).
    • Build test scene(s) that run on test servers.
    • Put test scenes live. Document current architecture.

Milestone Two

  • Collect all feedback on prototype and formulate detailed plan including:
    • Capture architectural decisions.
    • Feasibility of supporting Desktop Dcl client on supported and future platforms.
    • Full development plan.

Milestone Three

  • Main development
    • Execute plan from Milestone Two that delivers on the development scope.

Milestone Four

  • Community related activities.
    • Be available on discord and Github to monitor any feedback and issues. Attend dcl events that use the tech and generally gauge success.

I’m looking forward to experiencing all the new cool scenes that can be built
with this new tech.

Vote on this proposal on the Decentraland DAO

View this proposal on Snapshot

Phenomenal proposal. Your credentials are impressive and it seems you definitely have a vast knowledge of the problem and the ability to solve it for Decentraland.

I don’t have a full understanding of the tech/financial requirements of the project, but I personally believe that your ask is worthy of the outcome. This proposal will address MANY of the concerns I’ve seen that new businesses, brands, and other entities have raised in the DCL discord pertaining to streaming and live events. Would love to see this happen! You have a YES from me sir.

2 Likes

THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU.

Thank you, thank you… thank you.

1 Like

This sounds great but I am curious on how you arrived at the specific grant amount. If you can, provide some basic estimates of the amount of hours you expect this to take, or the funding required for each stage, and if any amount is used for the preliminary work stage.

I am also concerned it only has basic testing completed so far. It would be nice if there was a way to get a few of us together to test the performance to make sure everything will be feasible before getting too deep into it. However, considering the breadth of projects this effects, that doesn’t sound entirely possible. Would you be able to add a few more objects to the test scene and try walking around for another video to see if the walking motion is smooth?

Agree with @mattimus on this one. This is an amazing issue that we should most def address, but I am held back from voting due to no clear budget breakdown for an ask this large.

If you can provide, I will consider my vote!

Develop new Low Latency Video Streaming components for SDK and builder.

This proposal is now in status: PASSED.

Voting Results:

  • Yes 100% 4,106,019 VP (71 votes)
  • No 0% 0 VP (0 votes)

Develop new Low Latency Video Streaming components for SDK and builder.

This proposal has been ENACTED by a DAO Committee Member (0xfe91c0c482e09600f2d1dbca10fd705bc6de60bc)

Vesting Contract Address: 0x8788a3f037DA40FF3d79B28fd34185b6B193e9f0
View Transaction

Hi Carl,

How are you? I hope everything is well.

I´m writing because would be great to have a video call to knows each other and it´s a good opportunity for you to show your amazing project!

Here is my calendar with some options.

Looking forward to hearing from you!

1 Like