vibecallsdk 1.0.0
vibecallsdk: ^1.0.0 copied to clipboard
A robust, modular video communication SDK with virtual backgrounds, face filters, and more.
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.