vibecallsdk 1.0.0 copy "vibecallsdk: ^1.0.0" to clipboard
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.

pub package GitHub

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.