flutter-webrtc
WebRTC plugin for Flutter Mobile/Desktop/Web
File Explorer
Download Latest Version (.zip)- bug_report.md
- custom.md
- feature_request.md
- build.yml
- publish.yaml
- FUNDING.yml
- stale.yml
- AudioDeviceKind.java
- AudioProcessingAdapter.java
- AudioProcessingController.java
- AudioSwitchManager.java
- AudioUtils.java
- LocalAudioTrack.java
- PlaybackSamplesReadyCallbackAdapter.java
- RecordSamplesReadyCallbackAdapter.java
- AudioChannel.java
- AudioFileRenderer.java
- AudioSamplesInterceptor.java
- AudioTrackInterceptor.java
- EncoderConfig.java
- FrameCapturer.java
- MediaRecorderImpl.java
- OutputAudioSamplesInterceptor.java
- VideoFileRenderer.java
- AnyThreadResult.java
- AnyThreadSink.java
- Callback.java
- ConstraintsArray.java
- ConstraintsMap.java
- EglUtils.java
- MediaConstraintsUtils.java
- ObjectType.java
- PermissionUtils.java
- Utils.java
- CameraRegionUtils.java
- CameraUtils.java
- DeviceOrientationManager.java
- Point.java
- SdkCapabilityChecker.java
- LocalVideoTrack.java
- VideoCapturerInfo.java
- CameraEventsHandler.java
- DataChannelObserver.java
- FlutterDataPacketCryptor.java
- FlutterRTCFrameCryptor.java
- FlutterRTCVideoRenderer.java
- FlutterWebRTCPlugin.java
- GetUserMediaImpl.java
- LocalTrack.java
- MethodCallHandlerImpl.java
- OrientationAwareScreenCapturer.java
- PeerConnectionObserver.java
- RemoteTrackRegistry.java
- SimulcastVideoEncoderFactoryWrapper.kt
- StateProvider.java
- SurfaceTextureRenderer.java
- WebRtcAudioTrackUtils.java
- CustomVideoDecoderFactory.java
- CustomVideoEncoderFactory.java
- Camera1Helper.java
- Camera2Helper.java
- AndroidManifest.xml
- RemoteTrackRegistryTest.java
- build.gradle
- gradle.properties
- proguard-rules.pro
- settings.gradle
- stream-logo.png
- flutter_common.h
- flutter_data_channel.h
- flutter_data_packet_cryptor.h
- flutter_frame_capturer.h
- flutter_frame_cryptor.h
- flutter_media_stream.h
- flutter_peerconnection.h
- flutter_screen_capture.h
- flutter_utf8_sanitize.h
- flutter_video_renderer.h
- flutter_webrtc.h
- flutter_webrtc_base.h
- loopback_capturer.h
- task_runner.h
- flutter_common.cc
- flutter_data_channel.cc
- flutter_data_packet_cryptor.cc
- flutter_frame_capturer.cc
- flutter_frame_cryptor.cc
- flutter_media_stream.cc
- flutter_peerconnection.cc
- flutter_screen_capture.cc
- flutter_utf8_sanitize.cc
- flutter_video_renderer.cc
- flutter_webrtc.cc
- flutter_webrtc_base.cc
- audio_sink_bridge.cpp
- AudioManager.h
- AudioManager.m
- AudioProcessingAdapter.h
- AudioProcessingAdapter.m
- AudioUtils.h
- AudioUtils.m
- CameraUtils.h
- CameraUtils.m
- FlutterDataPacketCryptor.h
- FlutterDataPacketCryptor.m
- FlutterRPScreenRecorder.h
- FlutterRPScreenRecorder.m
- FlutterRTCAudioSink-Interface.h
- FlutterRTCAudioSink.h
- FlutterRTCAudioSink.mm
- FlutterRTCDataChannel.h
- FlutterRTCDataChannel.m
- FlutterRTCDesktopCapturer.h
- FlutterRTCDesktopCapturer.m
- FlutterRTCFrameCapturer.h
- FlutterRTCFrameCapturer.m
- FlutterRTCFrameCryptor.h
- FlutterRTCFrameCryptor.m
- FlutterRTCMediaRecorder.h
- FlutterRTCMediaRecorder.m
- FlutterRTCMediaStream.h
- FlutterRTCMediaStream.m
- FlutterRTCPeerConnection.h
- FlutterRTCPeerConnection.m
- FlutterRTCVideoPlatformTypes.h
- FlutterRTCVideoPlatformView.h
- FlutterRTCVideoPlatformView.m
- FlutterRTCVideoPlatformViewController.h
- FlutterRTCVideoPlatformViewController.m
- FlutterRTCVideoPlatformViewFactory.h
- FlutterRTCVideoPlatformViewFactory.m
- FlutterRTCVideoRenderer.h
- FlutterRTCVideoRenderer.m
- FlutterWebRTCPlugin.h
- FlutterWebRTCPlugin.m
- LocalAudioTrack.h
- LocalAudioTrack.m
- LocalTrack.h
- LocalVideoTrack.h
- LocalVideoTrack.m
- media_stream_interface.h
- RTCAudioSource+Private.h
- VideoProcessingAdapter.h
- VideoProcessingAdapter.m
- E2EE.md
- flutter_web_r_t_c_plugin.h
- CMakeLists.txt
- flutter_webrtc_plugin.cc
- AndroidManifest.xml
- MainActivity.java
- launch_background.xml
- launch_background.xml
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- ic_launcher.png
- styles.xml
- styles.xml
- AndroidManifest.xml
- AndroidManifest.xml
- build.gradle
- gradle-wrapper.properties
- .gitignore
- build.gradle
- gradle.properties
- settings.gradle
- CMakeLists.txt
- generated_plugin_registrant.cc
- generated_plugin_registrant.dart
- generated_plugin_registrant.h
- generated_plugins.cmake
- CMakeLists.txt
- command_options.h
- flutter_embedder_options.h
- flutter_window.cc
- flutter_window.h
- main.cc
- .gitignore
- CMakeLists.txt
- AppFrameworkInfo.plist
- Debug.xcconfig
- Release.xcconfig
- Contents.json
- Icon-App-1024x1024@1x.png
- Icon-App-20x20@1x.png
- Icon-App-20x20@2x.png
- Icon-App-20x20@3x.png
- Icon-App-29x29@1x.png
- Icon-App-29x29@2x.png
- Icon-App-29x29@3x.png
- Icon-App-40x40@1x.png
- Icon-App-40x40@2x.png
- Icon-App-40x40@3x.png
- Icon-App-60x60@2x.png
- Icon-App-60x60@3x.png
- Icon-App-76x76@1x.png
- Icon-App-76x76@2x.png
- Icon-App-83.5x83.5@2x.png
- Contents.json
- LaunchImage.png
- LaunchImage@2x.png
- LaunchImage@3x.png
- README.md
- LaunchScreen.storyboard
- Main.storyboard
- AppDelegate.h
- AppDelegate.m
- Info.plist
- main.m
- IDEWorkspaceChecks.plist
- contents.xcworkspacedata
- Runner.xcscheme
- project.pbxproj
- IDEWorkspaceChecks.plist
- contents.xcworkspacedata
- RunnerTests.m
- .gitignore
- screen_select_dialog.dart
- adm_sample.dart
- capture_frame_sample.dart
- data_packet_cryptor_sample.dart
- device_enumeration_sample.dart
- get_display_media_sample.dart
- get_user_media_sample.dart
- get_user_media_sample_web.dart
- loopback_data_channel_sample.dart
- loopback_sample_unified_tracks.dart
- loopback_sample_with_get_stats.dart
- route_item.dart
- screen_capture_api_sample.dart
- step-by-step-tutorial.txt
- utils.dart
- main.dart
- CMakeLists.txt
- generated_plugin_registrant.cc
- generated_plugin_registrant.h
- generated_plugins.cmake
- .gitignore
- CMakeLists.txt
- main.cc
- my_application.cc
- my_application.h
- Flutter-Debug.xcconfig
- Flutter-Release.xcconfig
- GeneratedPluginRegistrant.swift
- app_icon_1024.png
- app_icon_128.png
- app_icon_16.png
- app_icon_256.png
- app_icon_32.png
- app_icon_512.png
- app_icon_64.png
- Contents.json
- MainMenu.xib
- AppInfo.xcconfig
- Debug.xcconfig
- Release.xcconfig
- Warnings.xcconfig
- AppDelegate.swift
- DebugProfile.entitlements
- Info.plist
- MainFlutterWindow.swift
- Release.entitlements
- IDEWorkspaceChecks.plist
- Runner.xcscheme
- project.pbxproj
- IDEWorkspaceChecks.plist
- contents.xcworkspacedata
- RunnerTests.swift
- .gitignore
- widget_test.dart
- Icon-192.png
- Icon-512.png
- Icon-maskable-192.png
- Icon-maskable-512.png
- e2ee.worker.dart.js
- e2ee.worker.dart.js.deps
- e2ee.worker.dart.js.map
- favicon.png
- index.html
- manifest.json
- CMakeLists.txt
- generated_plugin_registrant.cc
- generated_plugin_registrant.h
- generated_plugins.cmake
- app_icon.ico
- CMakeLists.txt
- flutter_window.cpp
- flutter_window.h
- main.cpp
- resource.h
- runner.exe.manifest
- Runner.rc
- utils.cpp
- utils.h
- win32_window.cpp
- win32_window.h
- .gitignore
- CMakeLists.txt
- .gitignore
- analysis_options.yaml
- pubspec.yaml
- README.md
- .gitkeep
- FlutterBroadcastScreenCapturer.m
- FlutterSocketConnection.m
- FlutterSocketConnectionFrameReader.m
- AudioManager.h
- AudioProcessingAdapter.h
- AudioUtils.h
- CameraUtils.h
- FlutterBroadcastScreenCapturer.h
- FlutterDataPacketCryptor.h
- FlutterRPScreenRecorder.h
- FlutterRTCAudioSink-Interface.h
- FlutterRTCAudioSink.h
- FlutterRTCDataChannel.h
- FlutterRTCDesktopCapturer.h
- FlutterRTCFrameCapturer.h
- FlutterRTCFrameCryptor.h
- FlutterRTCMediaRecorder.h
- FlutterRTCMediaStream.h
- FlutterRTCPeerConnection.h
- FlutterRTCVideoPlatformTypes.h
- FlutterRTCVideoPlatformView.h
- FlutterRTCVideoPlatformViewController.h
- FlutterRTCVideoPlatformViewFactory.h
- FlutterRTCVideoRenderer.h
- FlutterSocketConnection.h
- FlutterSocketConnectionFrameReader.h
- FlutterWebRTCPlugin.h
- LocalAudioTrack.h
- LocalTrack.h
- LocalVideoTrack.h
- media_stream_interface.h
- RTCAudioSource+Private.h
- VideoProcessingAdapter.h
- audio_sink_bridge.cpp
- AudioManager.m
- AudioProcessingAdapter.m
- AudioUtils.m
- CameraUtils.m
- FlutterDataPacketCryptor.m
- FlutterRPScreenRecorder.m
- FlutterRTCAudioSink.mm
- FlutterRTCDataChannel.m
- FlutterRTCDesktopCapturer.m
- FlutterRTCFrameCapturer.m
- FlutterRTCFrameCryptor.m
- FlutterRTCMediaRecorder.m
- FlutterRTCMediaStream.m
- FlutterRTCPeerConnection.m
- FlutterRTCVideoPlatformView.m
- FlutterRTCVideoPlatformViewController.m
- FlutterRTCVideoPlatformViewFactory.m
- FlutterRTCVideoRenderer.m
- FlutterWebRTCPlugin.m
- LocalAudioTrack.m
- LocalVideoTrack.m
- VideoProcessingAdapter.m
- Package.swift
- .gitignore
- flutter_webrtc.podspec
- audio_configuration.dart
- audio_configuration.dart
- adapter_type.dart
- audio_management.dart
- camera_utils.dart
- data_packet_cryptor_impl.dart
- desktop_capturer_impl.dart
- event_channel.dart
- factory_impl.dart
- frame_cryptor_impl.dart
- media_recorder_impl.dart
- media_stream_impl.dart
- media_stream_track_impl.dart
- mediadevices_impl.dart
- navigator_impl.dart
- rtc_data_channel_impl.dart
- rtc_dtmf_sender_impl.dart
- rtc_peerconnection_impl.dart
- rtc_rtp_receiver_impl.dart
- rtc_rtp_sender_impl.dart
- rtc_rtp_transceiver_impl.dart
- rtc_track_event_impl.dart
- rtc_video_platform_view.dart
- rtc_video_platform_view_controller.dart
- rtc_video_renderer_impl.dart
- rtc_video_view_impl.dart
- utils.dart
- factory_impl.dart
- rtc_video_renderer_impl.dart
- rtc_video_view_impl.dart
- utils.dart
- desktop_capturer.dart
- helper.dart
- media_devices.dart
- media_recorder.dart
- native_logs_listener.dart
- video_renderer_extension.dart
- flutter_webrtc.dart
- basic_message_channel.h
- binary_messenger.h
- byte_streams.h
- encodable_value.h
- engine_method_result.cc
- engine_method_result.h
- event_channel.h
- event_sink.h
- event_stream_handler.h
- event_stream_handler_functions.h
- message_codec.h
- method_call.h
- method_channel.h
- method_codec.h
- method_result.h
- method_result_functions.h
- plugin_registrar.h
- standard_codec_serializer.h
- standard_message_codec.h
- standard_method_codec.h
- texture_registrar.h
- binary_messenger_impl.h
- byte_buffer_streams.h
- core_implementations.cc
- plugin_registrar.cc
- standard_codec.cc
- texture_registrar_impl.h
- flutter_web_r_t_c_plugin.h
- CMakeLists.txt
- flutter_webrtc_plugin.cc
- loopback_capturer_factory.cc
- pulse_loopback_capturer.cc
- pulse_loopback_capturer.h
- task_runner_linux.cc
- task_runner_linux.h
- AudioManager.h
- AudioProcessingAdapter.h
- AudioUtils.h
- CameraUtils.h
- FlutterDataPacketCryptor.h
- FlutterRPScreenRecorder.h
- FlutterRTCDataChannel.h
- FlutterRTCDesktopCapturer.h
- FlutterRTCFrameCapturer.h
- FlutterRTCFrameCryptor.h
- FlutterRTCMediaStream.h
- FlutterRTCPeerConnection.h
- FlutterRTCVideoPlatformTypes.h
- FlutterRTCVideoPlatformView.h
- FlutterRTCVideoPlatformViewController.h
- FlutterRTCVideoPlatformViewFactory.h
- FlutterRTCVideoRenderer.h
- FlutterScreenCaptureKitCapturer.h
- FlutterWebRTCPlugin.h
- LocalAudioTrack.h
- LocalTrack.h
- LocalVideoTrack.h
- VideoProcessingAdapter.h
- AudioManager.m
- AudioProcessingAdapter.m
- AudioUtils.m
- CameraUtils.m
- FlutterDataPacketCryptor.m
- FlutterRPScreenRecorder.m
- FlutterRTCDataChannel.m
- FlutterRTCDesktopCapturer.m
- FlutterRTCFrameCapturer.m
- FlutterRTCFrameCryptor.m
- FlutterRTCMediaStream.m
- FlutterRTCPeerConnection.m
- FlutterRTCVideoPlatformView.m
- FlutterRTCVideoPlatformViewController.m
- FlutterRTCVideoPlatformViewFactory.m
- FlutterRTCVideoRenderer.m
- FlutterScreenCaptureKitCapturer.m
- FlutterWebRTCPlugin.m
- LocalAudioTrack.m
- LocalVideoTrack.m
- VideoProcessingAdapter.m
- Package.swift
- flutter_webrtc.podspec
- rtc_videw_view_test.dart
- rtc_peerconnection_test.dart
- LICENSE
- svpng.hpp
- CMakeLists.txt
- libwebrtc_version.ini
- flutter_web_r_t_c_plugin.h
- .gitignore
- application_loopback_capturer.cc
- application_loopback_capturer.h
- CMakeLists.txt
- flutter_webrtc_plugin.cc
- loopback_capturer_factory.cc
- task_runner_windows.cc
- task_runner_windows.h
- .clang-format
- .gitignore
- analysis_options.yaml
- CHANGELOG.md
- CONTRIBUTING.md
- flutter-webrtc.code-workspace
- format.sh
- LICENSE
- NOTICE
- pubspec.yaml
- README.md
- renovate.json
# Installation Guide
1. Get the code
git clone https://github.com/flutter-webrtc/flutter-webrtc
Downloads the entire project code from GitHub to your computer.
cd flutter-webrtc
Moves into the project folder you just downloaded.
2. CMake
Medium RecommendedPrerequisites
cd elinux
This project's files live in a subfolder, so move into it first.
mkdir build && cd build
Creates a folder to hold the build output and moves into it.
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
make
Compiles the code based on the generated build configuration to produce an executable.
Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).
3. Gradle (Java/Kotlin)
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- JDK (Java) Required to build and run Java/Kotlin projects.
- Gradle If the repo includes gradlew (Gradle Wrapper), you don't need to install Gradle separately.
cd android
This project's files live in a subfolder, so move into it first.
./gradlew build
Builds the project using Gradle.
A BUILD SUCCESSFUL message means it worked. The output is created under build/.
// repository documentation
Was this content helpful?
(0 ratings)
