flutter-webrtc/flutter-webrtc

WebRTC plugin for Flutter Mobile/Desktop/Web

C++JavaObjective-CDartCMakeKotlinOtherandroidioswebsipwebrtcdesktopvoipflutterwebrtc-plugin
This is stars and forks stats for /flutter-webrtc/flutter-webrtc repository. As of 29 Apr, 2024 this repository has 3735 stars and 1003 forks.

Flutter-WebRTC WebRTC plugin for Flutter Mobile/Desktop/Web Sponsored with 💖   by Enterprise Grade APIs for Feeds, Chat, & Video. Try the Flutter Video tutorial 💬 LiveKit - Open source WebRTC infrastructure Functionality Feature Android iOS Web macOS Windows Linux Embedded Fuchsia Audio/Video ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] Data Channel ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] Screen Capture ✔️ ✔️(*) ✔️ ✔️ ✔️ ✔️ [WIP] Unified-Plan ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] Simulcast ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ [WIP] MediaRecorder ⚠️ ⚠️ ✔️ SFrame/FrameCryptor ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ Insertable Streams Additional platform/OS support from the other community flutter-tizen: https://github.com/flutter-tizen/plugins/tree/master/packages/flutter_webrtc flutter-elinux(WIP): sony/flutter-elinux-plugins#7 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. Note for iOS. The WebRTC.xframework compiled after the m104 release no longer supports iOS arm devices, so need to add the config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' to your ios/Podfile in your project ios/Podfile post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) target.build_configurations.each do |config| # Workaround for https://github.com/flutter/flutter/issues/64502 config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES' # <= this line end end end 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" android:maxSdkVersion="30" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" /> 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 23 (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. CloudWebRTC - Original Author RainwayApp - Sponsor 亢少军 - Sponsor ION - Sponsor reSipWebRTC - Sponsor 沃德米科技-36记手写板 - Sponsor 阿斯特网络科技有限公司 - Sponsor 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]
Read on GithubGithub Stats Page
repotechsstarsweeklyforksweekly
apache/incubator-uniffleJavaGoRust30601130
sofastack/sofa-jraftJavaShell3.3k01.1k0
Guardsquare/proguardJavaKotlinOther2.2k+43730
mgechev/javascript-algorithmsJavaScript7.8k01.3k0
Reamd7/notion-zh_CNRustJavaScriptShell6.1k+401k+2
jhlywa/chess.jsTypeScriptOther3.3k08690
youzan/vant-weappJavaScriptTypeScriptLess17.1k03.5k0
goldfire/howler.jsJavaScriptCSSHTML22.1k02.2k0
sh377c0d3/PayloadsPHPJavaClassic ASP808+1176+2
ssddanbrown/rssPHPVueJavaScript4150130