Coder Social home page Coder Social logo

usernameisvaibhav / flutter-sfu-video-call-group Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lambiengcode/flutter-sfu-video-call-group

0.0 0.0 0.0 1.52 MB

:beers: Flutter-SFU-Video-Call is a mobile application that utilizes Flutter and WebRTC SFU architecture to provide video call functionality.

Home Page: https://docs.waterbus.tech

License: MIT License

Shell 0.09% JavaScript 15.78% Ruby 2.75% C++ 8.10% C 1.36% Objective-C 0.08% Kotlin 0.27% Dart 51.62% Swift 0.82% HTML 4.83% CMake 14.30%

flutter-sfu-video-call-group's Introduction

⚠️ Warning: This repository is no longer supported. An alternative project is available here.

Video Call Flutter App (SFUs Architecture) 📱

Description:

  • This is sandbox video call application using Flutter and WebRTC.

SFUs – Selective Forwarding Units

  • In this case, each participant still sends just one set of video and audio up to the SFU, like our MCU. However, the SFU doesn’t make any composite streams. Rather, it sends a different stream down for each user. In this example, 4 streams are received by each participant, since there are 5 people in the call.
  • The good thing about this is it’s still less work on each participant than a mesh peer-to-peer model. This is because each participant is only establishing one connection (to the SFU) instead of to all other participants to upload their own video/audio. But, it can be more bandwidth intensive than the MCU because the participants each receive multiple streams downloaded.
  • The nice thing for participants about receiving separate streams is that they can do whatever they want with them. They are not bound to layout or UI decisions of the MCU. If you have been in a conference call where the conferencing tool allowed you to choose a different layout (ie, which speaker’s video will be most prominent, or how you want to arrange the videos on the screen), then that was using an SFU.
  • Media servers which implement an SFU architecture include Jitsi and Janus.

Quick start

Start WebRTC SFUs Server

  • Step 1: open nodejs_sfus_server
  • Step 2: run yarn or npm i for install packages
  • Step 3: run yarn start or npm start for start server
  • Server is running on port 5000, you can change port in server.js

Mobile Application

  • Step 1: run flutter pub get for install flutter pub
  • Step 2: replace socket url by ip and port your server in flutter_webrtc_sfus/lib/src/pages/home/home_page.dart, line 79
  • Step 3: run app and auto connect in call

flutter-sfu-video-call-group's People

Contributors

lambiengcode avatar imgbotapp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.