zomie
❗ the project continues on branch 1peer ❗
Online meeting app like google meet, build with flutter for all platforms. this app uses WebRTC for media real-time communication, and socket.io for signaling & messaging. Server running on nodejs with SFU method.
-
Features
- Create Room
- life time (default 1 minute)
- after life time & if there is no one in room, then room will destroy itself
- password (optional)
- life time (default 1 minute)
- Lobby
- preparing for meeting
- permission for microphone & camera
- preparing for meeting
- Room meeting
- video & audio communication
- muted/unmuted microphone
- turn on/off camera
- chat room
- Share screen
- video & audio communication
- Create Room
-
Tested platform status
- ✔️ Android (tested)
- ✔️ Windows (tested)
- ❗ Share screen (not working yet)
- ✔️ Web (tested)
- ❗ Ios (not tested yet)
- ❗ Linux (not tested yet)
- ❗ Mac (not tested yet)
#SS Apps
- Desktop-windows
- Mobile-Android
- Web browser
#Flutter info
- build with version.
- Flutter 3.3.4, dart 2.18.2
- Android
- targetSdk
compileSdkVersion 33 minSdkVersion 23 targetSdkVersion 33
- targetSdk
#Credential
- none
Note
- Socket io
- Platform
- All Platform
- version match info [1]
- server(nodejs): "socket.io": "^2.4.1" - client(flutter): socket_io_client: ^1.0.1 | ^1.0.2
- version match info [2]
- server(nodejs): "socket.io": "^4.5.3" - client(flutter): socket_io_client: ^2.0.0
- Platform
- WebRTC
- Support Platform
- All Platform
- Support Platform
References
-
Socket Io
-
WebRTC
- Articles | Doc
- https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
- https://bloggeek.me/webrtc-vs-zoom-video-quality/
- https://bloggeek.me/webrtcglossary/rtp/
- https://webrtchacks.com/zoom-avoids-using-webrtc/
- https://stackoverflow.com/questions/56944864/can-we-remove-and-add-audio-stream-dynamically-in-webrtc-video-call-without-rene
- https://stackoverflow.com/questions/64012898/how-to-completely-turn-off-camera-on-mediastream-javascript
- Issues
- flutter-webrtc/flutter-webrtc#938 windows rtc
- flutter-webrtc/flutter-webrtc#436 close conection
- media stream, muted, stop camera
- https://stackoverflow.com/questions/63666576/how-restart-a-closed-video-track-stopped-using-userstream-getvideotracks0 - https://stackoverflow.com/questions/57563002/do-cloned-streams-from-mediastreamdestination-are-still-somehow-bound-to-this-au - https://stackoverflow.com/questions/72857922/replace-webrtc-track-of-different-kind-without-renegotiations - https://stackoverflow.com/questions/41309682/check-if-selected-microphone-is-muted-or-not-with-web-audio-api/41309852#41309852 - https://stackoverflow.com/questions/56944864/can-we-remove-and-add-audio-stream-dynamically-in-webrtc-video-call-without-rene - https://stackoverflow.com/questions/39831238/webrtc-how-to-change-the-audio-track-for-a-existing-stream - https://stackoverflow.com/questions/64012898/how-to-completely-turn-off-camera-on-mediastream-javascript
- Articles | Doc
-
Flutter Code