Skip to content
flutter_webrtc · livekit_client · Flutter Web

Arrière-plan virtuel et suppression du bruit pour Flutter

Ajoutez flou et remplacement de l'arrière-plan, embellissement et cadrage automatique aux applications vidéo Flutter sur Android, iOS et le web, et la suppression du bruit par IA à Flutter Web, avec des plugins prêts à l'emploi basés sur flutter_webrtc.

Choisissez votre configuration

Flutter Web + flutter_webrtc

  • Video
  • Web

Le plugin effects_sdk encapsule le Web Video Effects SDK : donnez-lui un MediaStream de flutter_webrtc, récupérez un MediaStream traité.

Android, iOS et web avec LiveKit

  • Video
  • Android
  • iOS
  • Web

Un fork du SDK LiveKit pour Flutter ajoute le Video Effects SDK à LocalVideoTrack. Sur Android et iOS, il utilise les SDK natifs ; sur le web, le SDK web.

Suppression du bruit pour Flutter Web

  • Audio
  • Web

Le plugin audio_effects_sdk exécute l'Audio Effects SDK sur un MediaStream de flutter_webrtc : suppression du bruit par IA avec les préréglages speed, balanced et quality.

Code

Les plugins suivent le fonctionnement du SDK web : donnez un MediaStream, attendez onReady, lancez et utilisez le flux traité. Dans le fork LiveKit, les effets sont des méthodes de LocalVideoTrack.

  • Obtenez un Customer ID dans le Developer Portal
  • Ajoutez le plugin depuis GitHub dans pubspec.yaml
  • Sur le web, chargez le script du SDK dans index.html
  • Lancez l'exemple : flutter run --dart-define=CUSTOMER_ID=…
// web/index.html: <script src="https://effectssdk.ai/sdk/web/{VERSION}/tsvb-web.js"></script>
// pubspec.yaml:   effects_sdk: { git: { url: https://github.com/EffectsSDK/flutter-plugin.git } }

final effectsSDK = EffectsSDK('YOUR_CUSTOMER_ID');
effectsSDK.useStream(cameraStream);
final outputStream = effectsSDK.getStream();

effectsSDK.onReady = () {
  effectsSDK.run();
  effectsSDK.setBlur(60);
};
// pubspec.yaml: livekit_client from github.com/EffectsSDK/livekit-client-sdk-flutter

final videoTrack = await LocalVideoTrack.createCameraTrack(
  CameraCaptureOptions(effectsSdkRequired: true),
);
await videoTrack.start();

final status = await videoTrack.auth('YOUR_CUSTOMER_ID');
if (status == AuthStatus.active) {
  await videoTrack.setPipelineMode(PipelineMode.blur);
  await videoTrack.setBlurPower(0.6);
}
// web/index.html: <script crossorigin="anonymous" src="https://effectssdk.ai/sdk/audio/dev/{VERSION}/atsvb-web.js"></script>
// pubspec.yaml:   audio_effects_sdk: { git: { url: https://github.com/EffectsSDK/audio-flutter-wrapper } }

final audioSDK = AudioEffectsSDK('YOUR_CUSTOMER_ID');
audioSDK.useStream(micStream);

audioSDK.onReady = () {
  audioSDK.run();
  final cleanStream = audioSDK.getStream();
};

Questions

Vous utilisez LiveKit ? Voir l'intégration LiveKit.

Quelles plateformes sont prises en charge avec Flutter ?

Effets vidéo : Android, iOS et web via le fork LiveKit pour Flutter, et web via le plugin flutter_webrtc. Suppression du bruit audio : Flutter Web via le plugin audio_effects_sdk.

J'utilise flutter_webrtc sans LiveKit sur Android ou iOS. Quelles sont mes options ?

Utilisez les SDK natifs Android et iOS via un platform channel. Le fork LiveKit est une bonne référence : il relie les pipelines caméra natifs à Flutter sur les deux plateformes. Décrivez-nous votre configuration et nous vous aiderons.

Comment ajouter la suppression du bruit à une application Flutter mobile ?

Le plugin audio Flutter cible pour l'instant le web. Sur Android et iOS, appelez l'Audio Effects SDK natif (Maven ai.effectssdk:audio, Swift Package AudioEffectsSDK) via un platform channel.

Quels effets sont disponibles ?

Flou et remplacement de l'arrière-plan, embellissement, cadrage automatique, correction des couleurs, dispositions, bandeaux et incrustations dans le plugin web ; le fork LiveKit expose les modes du pipeline natif sur mobile.

Vous développez avec Flutter ?

Indiquez-nous vos plateformes et la façon dont vous capturez la vidéo et l'audio. Nous vous aidons à l'intégration.

Prêt à vous lancer ? Ouvrez le Developer Portal et démarrez un essai gratuit.

Protégé par reCAPTCHA. Consultez notre politique de confidentialité.