Flutter Web + flutter_webrtc
- Video
- Web
O plugin effects_sdk encapsula o SDK web de vídeo: entregue um MediaStream do flutter_webrtc e receba um MediaStream processado.
Adicione desfoque e substituição do fundo, embelezamento e enquadramento automático a apps de vídeo Flutter no Android, iOS e web, e cancelamento de ruído com IA ao Flutter Web, com plugins prontos baseados em flutter_webrtc.
O plugin effects_sdk encapsula o SDK web de vídeo: entregue um MediaStream do flutter_webrtc e receba um MediaStream processado.
Um fork do SDK do LiveKit para Flutter adiciona o Video Effects SDK ao LocalVideoTrack. No Android e no iOS ele usa os SDKs nativos e, na web, o SDK web.
O plugin audio_effects_sdk roda o Audio Effects SDK em um MediaStream do flutter_webrtc: supressão de ruído com IA com os presets speed, balanced e quality.
Os plugins seguem o fluxo do SDK web: entregue um MediaStream, espere o onReady, rode e use o stream processado. No fork do LiveKit, os efeitos são métodos do 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();
};
Usa LiveKit? Veja a integração com o LiveKit.
Efeitos de vídeo: Android, iOS e web pelo fork do LiveKit para Flutter, e web pelo plugin do flutter_webrtc. Cancelamento de ruído de áudio: Flutter Web pelo plugin audio_effects_sdk.
Use os SDKs nativos de Android e iOS por um platform channel. O fork do LiveKit é uma boa referência: ele conecta os pipelines nativos de câmera ao Flutter nas duas plataformas. Conte a sua configuração e ajudamos.
O plugin de áudio para Flutter atende por enquanto a web. No Android e no iOS, chame o Audio Effects SDK nativo (Maven ai.effectssdk:audio, Swift Package AudioEffectsSDK) por um platform channel.
Desfoque e substituição do fundo, embelezamento, enquadramento automático, correção de cor, layouts, letterings e sobreposições no plugin web; o fork do LiveKit expõe os modos do pipeline nativo no mobile.
Conte as suas plataformas e como você captura vídeo e áudio. Ajudamos com a integração.
Pronto para começar? Abra o Developer Portal e inicie um teste grátis.