flutter_banuba_agora_ar 0.1.0 copy "flutter_banuba_agora_ar: ^0.1.0" to clipboard
flutter_banuba_agora_ar: ^0.1.0 copied to clipboard

Bridge plugin that pipes Banuba AR-processed frames directly into Agora RTC as an external video source. One-liner integration for AR filters in live streams.

flutter_banuba_agora_ar #

A bridge plugin that pipes Banuba AR-processed frames directly into Agora RTC as an external video source. One-liner integration for AR filters in live streams.

Features #

  • ๐Ÿ”— Automatic frame forwarding from Banuba โ†’ Agora
  • ๐ŸŽญ Convenience methods for effect loading and camera switching
  • ๐Ÿ“Š Frame count tracking
  • ๐Ÿงน Clean start/stop lifecycle

Getting Started #

1. Install #

dependencies:
  flutter_banuba_agora_ar: ^0.1.0
  # This automatically pulls flutter_banuba_ar and agora_rtc_engine

2. Usage #

import 'package:flutter_banuba_agora_ar/flutter_banuba_agora_ar.dart';
import 'package:agora_rtc_engine/agora_rtc_engine.dart';

// 1. Initialize Banuba
final banuba = BanubaARController();
await banuba.initialize(token: 'YOUR_BANUBA_TOKEN');

// 2. Initialize Agora with external video source
final agoraEngine = createAgoraRtcEngine();
await agoraEngine.initialize(RtcEngineContext(appId: 'YOUR_AGORA_APP_ID'));
await agoraEngine.getMediaEngine().setExternalVideoSource(
  enabled: true,
  useTexture: false,
);

// 3. Create the bridge โ€” this is all you need!
final bridge = BanubaAgoraBridge(
  banuba: banuba,
  agoraEngine: agoraEngine,
);

// 4. Start capture and forwarding
await banuba.startCapture();
await bridge.startForwarding();
// AR-processed frames now flow into Agora automatically!

// 5. Load effects
await bridge.loadEffect('TrollGrandma');

// 6. Stop when done
bridge.stopForwarding();
await banuba.stopCapture();
bridge.dispose();

How It Works #

The bridge subscribes to BanubaARController.frameStream and pushes each frame to Agora via MediaEngine.pushVideoFrame(). It handles:

  • RGBA (Android) and BGRA (iOS) format detection
  • Frame timestamping
  • Error resilience (frame push failures are non-fatal)

License #

MIT License. See LICENSE for details.

0
likes
160
points
14
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Bridge plugin that pipes Banuba AR-processed frames directly into Agora RTC as an external video source. One-liner integration for AR filters in live streams.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

agora_rtc_engine, flutter, flutter_banuba_ar

More

Packages that depend on flutter_banuba_agora_ar