Flutter Web + flutter_webrtc
- Video
- Web
El plugin effects_sdk envuelve el SDK web de video: entrégale un MediaStream de flutter_webrtc y recibe un MediaStream procesado.
Añade desenfoque y reemplazo del fondo, embellecimiento y encuadre automático a apps de video Flutter en Android, iOS y la web, y cancelación de ruido con IA a Flutter Web, con plugins listos basados en flutter_webrtc.
El plugin effects_sdk envuelve el SDK web de video: entrégale un MediaStream de flutter_webrtc y recibe un MediaStream procesado.
Un fork del SDK de LiveKit para Flutter añade Video Effects SDK a LocalVideoTrack. En Android e iOS usa los SDK nativos y en la web, el SDK web.
El plugin audio_effects_sdk ejecuta Audio Effects SDK sobre un MediaStream de flutter_webrtc: supresión de ruido con IA con los presets speed, balanced y quality.
Los plugins siguen el flujo del SDK web: entrega un MediaStream, espera a onReady, ejecútalo y usa el stream procesado. En el fork de LiveKit, los efectos son métodos de LocalVideoTrack.
// 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();
};
¿Usas LiveKit? Consulta la integración con LiveKit.
Efectos de video: Android, iOS y la web mediante el fork de LiveKit para Flutter, y la web mediante el plugin de flutter_webrtc. Cancelación de ruido de audio: Flutter Web mediante el plugin audio_effects_sdk.
Usa los SDK nativos de Android e iOS mediante un platform channel. El fork de LiveKit es una buena referencia: conecta los pipelines nativos de la cámara con Flutter en ambas plataformas. Cuéntanos tu configuración y te ayudaremos.
El plugin de audio para Flutter funciona por ahora en la web. En Android e iOS, llama al Audio Effects SDK nativo (Maven ai.effectssdk:audio, Swift Package AudioEffectsSDK) mediante un platform channel.
Desenfoque y reemplazo del fondo, embellecimiento, encuadre automático, corrección de color, diseños, rótulos y superposiciones en el plugin web; el fork de LiveKit expone los modos del pipeline nativo en móvil.
Cuéntanos tus plataformas y cómo capturas el video y el audio. Te ayudamos con la integración.
¿Listo para empezar? Abre el Developer Portal y comienza una prueba gratuita.