Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bridge-to-bridge video chat #315

Open
smcameron opened this issue Dec 4, 2021 · 0 comments
Open

Add bridge-to-bridge video chat #315

smcameron opened this issue Dec 4, 2021 · 0 comments

Comments

@smcameron
Copy link
Owner

smcameron commented Dec 4, 2021

This post https://forum.freegamedev.net/viewtopic.php?f=3&t=18409&p=104965#p104965
made me realize that perhaps bridge-to-bridge video chat is possible, and maybe not so different from the voice chat feature already implemented.

This library seems the place to start: https://www.theora.org/doc/libtheora-1.1/

I don't think I can use the library from freegamedev.net as is, since it doesn't do encoding, only decoding, and that only from a file (I think), and also I think I would want to handle the audio differently.

Encoding functions described here: https://www.theora.org/doc/libtheora-1.1/group__encfuncs.html
Decoding functions described here: https://www.theora.org/doc/libtheora-1.1/group__decfuncs.html
Functions shared by encoding/decoding here: https://www.theora.org/doc/libtheora-1.1/group__basefuncs.html

Not covered by any of that is how to get raw frames and audio from webcam. This repo may be of interest: https://github.com/djtrance/webcam_viewer Edit: I forked that repo and made this: https://github.com/smcameron/webcam_viewer which splits apart the camera capture code from the SDL display code.

Maybe capture video and audio separately and use existing audio chat functionality somehow. Maybe use external program with shared memory for video frame capture?

I imagine a similar system as the voice chat uses in which we transmit encoded video frames from snis_client to snis_server, then relay to video receiving client(s). Not sure about how to keep video and audio in sync.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant