Open ghost opened 6 years ago
I am able to help on the Android side to display videos using WebRTC (and a Flutter Texture), as I'm currently working on an app that uses Twilio, and I had to dig quite deep into the WebRTC library for Android to get it to work (Twilio SDK is based on WebRTC). I haven't finished yet, but I'll be doing more work on this this week.
It would be super cool to have a Flutter plugin that allows to display chat videos based on WebRTC library (which also exists for iOS). The server could be a separate plugin. And, then separately, perhaps a Twilio plugin, as Twilio is used quite a lot. I'm happy to help with Android code, but I can't do iOS, I have close to zero experience with iOS.
If there's anyone with iOS skills willing to help out doing a WebRTC plugin, please comment on here please, thanks.
Re using WebRTC for data channel, there is a plugin released last week doing that https://pub.dartlang.org/packages/webrtc_data_channel Its description is "This plugin allows Flutter apps to use WebRTC DataChannel to establish P2P connection and exchange text messages."
I had a brief look at the repo i referenced. Its onyl for browsers but has a nice wrapper API. It also has websocket fallbacks. If you only know android then i say publish on the Pub website and maybe a IOS person will see it and your will get help.
I am useless on ios.
There is a really excellent webrtc dart package that was abandoned 3 years ago. It just needs some love and hooked into audio and video code.
https://github.com/roberthartung/webrtc_utils
This would be very useful to not just people doing video conferencing but also networking in general because it has data channel support.
Will be easy to run a stun / turn server in dart and I think can even run a dht presence server over webrtc data channel. That makes it even more useful.
This is also highly applicable to developers that want to take load off their servers too
It's also good for privacy aspects.
I would love to get feedback on this because the package works now and is really low hanging fruit to get fixed up quickly to be highly useful.
One thing I would add to this is a CRDT data reconciliation package too. This allows you to do what Google docs does with offline editing and online reconciliation of changes. Perfect for privacy apps where you want to avoid a central server. I am currently porting Automerge that does this crdt stuff to Dart.