All Projects → flutter-webrtc → Flutter Webrtc

flutter-webrtc / Flutter Webrtc

Licence: mit
WebRTC plugin for Flutter Mobile/Desktop/Web

Programming Languages

java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
C++
36643 projects - #6 most used programming language
dart
5743 projects
kotlin
9241 projects
shell
77523 projects

Projects that are alternatives of or similar to Flutter Webrtc

Siprtcproxy
网关服务:Sip与Rtc互通,实现Web,Android,iOS,小程序,SIP座机,PSTN电话,手机互通。
Stars: ✭ 217 (-92.15%)
Mutual labels:  voip, sip, webrtc
Kamailio
Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms -
Stars: ✭ 1,358 (-50.87%)
Mutual labels:  voip, sip, webrtc
Linphone Desktop
Linphone is a free VoIP and video softphone based on the SIP protocol. Mirror of git://git.linphone.org/linphone-desktop.git
Stars: ✭ 212 (-92.33%)
Mutual labels:  voip, sip, desktop
Freeswitch
FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
Stars: ✭ 1,213 (-56.11%)
Mutual labels:  voip, sip, webrtc
Routr
Routr: Next-generation SIP Server
Stars: ✭ 788 (-71.49%)
Mutual labels:  voip, sip, webrtc
Sip.js
A simple, intuitive, and powerful JavaScript signaling library
Stars: ✭ 1,282 (-53.62%)
Mutual labels:  voip, sip, webrtc
Browser Phone
A fully featured browser based WebRTC SIP phone for Asterisk
Stars: ✭ 95 (-96.56%)
Mutual labels:  voip, sip, webrtc
sdp
A Go implementation of the SDP
Stars: ✭ 89 (-96.78%)
Mutual labels:  sip, webrtc, voip
Sipsorcery
A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.
Stars: ✭ 449 (-83.76%)
Mutual labels:  voip, sip, webrtc
Re
Generic library for real-time communications with async IO support
Stars: ✭ 444 (-83.94%)
Mutual labels:  voip, sip, webrtc
Stun
A Go implementation of STUN
Stars: ✭ 141 (-94.9%)
Mutual labels:  voip, sip, webrtc
Baresip
Baresip is a modular SIP User-Agent with audio and video support
Stars: ✭ 817 (-70.44%)
Mutual labels:  voip, sip, webrtc
Homer
HOMER - 100% Open-Source SIP / VoIP Packet Capture & Monitoring
Stars: ✭ 855 (-69.07%)
Mutual labels:  voip, sip, webrtc
Asterisk Cdr Viewer Mod
Simple and fast viewer for Asterisk CDRs and Recordings (Mod)
Stars: ✭ 76 (-97.25%)
Mutual labels:  voip, sip
Awesome Voip
🤙Learning VoIP, RTP, pjsip and SIP
Stars: ✭ 83 (-97%)
Mutual labels:  voip, sip
Flexisip
Linphone.org mirror for flexisip (git://git.linphone.org/flexisip.git)
Stars: ✭ 75 (-97.29%)
Mutual labels:  voip, sip
Homer App
HOMER 7.x Front-End and API Server
Stars: ✭ 88 (-96.82%)
Mutual labels:  voip, sip
Fonos
🚀 The open-source alternative to Twilio
Stars: ✭ 3,785 (+36.94%)
Mutual labels:  voip, webrtc
Pade
Pàdé (Yoruba word for Meet) is a browser extension (Chrome/Edge) based unified communications desktop client for Openfire.
Stars: ✭ 72 (-97.4%)
Mutual labels:  sip, webrtc
Pushkit silentpushnotification
PushKit_SilentPushNotification to receive VOIP call while iOS app is in background or terminated state
Stars: ✭ 93 (-96.64%)
Mutual labels:  voip, webrtc

Flutter-WebRTC

Financial Contributors on Open Collective pub package Gitter slack

WebRTC plugin for Flutter Mobile/Desktop/Web


Sponsored with 💖   by
Stream Chat
Enterprise Grade APIs for Feeds & Chat. Try the Flutter Chat tutorial 💬


Functionality

Feature Android iOS Web macOS Windows Linux Fuchsia Embedded
Audio/Video ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] [WIP]
Data Channel ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] [WIP]
Screen Capture ✔️ ✔️ ✔️
Unified-Plan ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] [WIP]
Simulcast ✔️ ✔️ ✔️ ✔️ [WIP]
MediaRecorder ⚠️ ⚠️ ✔️

Usage

Add flutter_webrtc as a dependency in your pubspec.yaml file.

iOS

Add the following entry to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) Camera Usage!</string>
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) Microphone Usage!</string>

This entry allows your app to access camera and microphone.

Android

Ensure the following permission is present in your Android Manifest file, located in <project root>/android/app/src/main/AndroidManifest.xml:

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

If you need to use a Bluetooth device, please add:

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

The Flutter project template adds it, so it may already be there.

Also you will need to set your build settings to Java 8, because official WebRTC jar now uses static methods in EglBase interface. Just add this to your app level build.gradle:

android {
    //...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

If necessary, in the same build.gradle you will need to increase minSdkVersion of defaultConfig up to 21 (currently default Flutter generator set it to 16).

Important reminder

When you compile the release apk, you need to add the following operations, Setup Proguard Rules

Contributing

The project is inseparable from the contributors of the community.

Example

For more examples, please refer to flutter-webrtc-demo.

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].