VibeCallSDK
A robust, modular video communication SDK for Flutter with virtual backgrounds, face filters, and more.
Features
VibeCallSDK provides a comprehensive set of features for building video communication applications:
Core Features
- Complete WebRTC integration with P2P and SFU support
- High-quality video and audio processing
- Optimized for mobile performance
Advanced Features
- Virtual backgrounds with blur and image support
- Face filters with animation support
- Collaborative whiteboard
- Screen sharing for Android & iOS
- Video recording capability
- Secure data channel communication
Installation
Add this to your package's pubspec.yaml file:
dependencies:
vibecallsdk: ^1.0.0
Then run:
flutter pub get
Usage
Initialize the SDK
import 'package:vibecallsdk/vibecallsdk.dart';
// Initialize the SDK with configuration
await VibeCallSDK.instance.initialize(
config: SDKConfig(
apiKey: 'YOUR_API_KEY',
enablePerformanceMonitoring: true,
enablePowerOptimizations: true,
enableNativeOptimizations: true,
logLevel: LogLevel.info,
),
);
Create a Video Call Room
// Create room options
final options = RoomOptions(
roomName: 'my-room',
isP2P: false, // Use SFU mode
enableRecording: true,
);
// Create the room
final room = await VibeCallRoom.create(options);
// Join the room
await room.join();
// Listen for participants
room.participants.listen((participants) {
// Handle participants
});
Use Virtual Backgrounds
// Create a virtual background processor
final backgroundProcessor = VirtualBackgroundProcessor();
await backgroundProcessor.initialize();
// Apply background blur
await backgroundProcessor.setOptions(
BackgroundOptions.blur(intensity: 25),
);
// Apply background image
await backgroundProcessor.setOptions(
BackgroundOptions.image(assetPath: 'assets/backgrounds/office.jpg'),
);
Apply Face Filters
// Create a face filter processor
final faceFilterProcessor = FaceFilterProcessor();
await faceFilterProcessor.initialize();
// Apply a filter
await faceFilterProcessor.applyFilter('glasses');
Collaborative Whiteboard
// Create a whiteboard
final whiteboard = await WhiteboardService.create(room);
// Start the whiteboard
await whiteboard.start();
Platform Support
| Android | iOS |
|---|---|
| ✅ | ✅ |
Documentation
For detailed documentation, examples, and guides, visit: Full Documentation
Example
A comprehensive example application is available in the /example directory.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contribute
Contributions are welcome! Please feel free to submit a Pull Request.
Libraries
- vibecallsdk
- VibeCall SDK: A robust, modular video communication SDK
- vibecallsdk_method_channel
- vibecallsdk_platform_interface