Roguelike-Celebration / azure-mud

MIT License
187 stars 32 forks source link

Audio/video chat room #8

Closed lazerwalker closed 4 years ago

lazerwalker commented 4 years ago

Naive first implementation:

lazerwalker commented 4 years ago

The technical underpinnings of spinning up a WebRTC full-mesh topology are in place (just call "broadcastPeerId", and all peers in the same room will attempt to connect to you)

What's needed:

lazerwalker commented 4 years ago

Some WIP work was done to let you mute others' streams, but it seems not viable. It's on the mute-others branch.

I tried removing tracks from the stream for a given peer, but WebRTC explicitly yelled at me that I couldn't re-add a removed track, I needed to enable/disable the track.

However, right now, there's a single universal stream/track across all peers, so if I enable/disable, it will do it globally for all peers you're sending data to.

Open question: I can clone() a MediaStream to make a copy. If that has no performance ramifications, we can create clones of the mediastream for every peer and this will work.

lazerwalker commented 4 years ago

Note to self: do text-to-speech and speech-to-text on Twitchstream.

lazerwalker commented 4 years ago

Videochat may not be fully working, but closing this for now as a historical artifact