Introduction
This section provides information on how to integrate the DeepAR SDK with popular frameworks for video-calling and streaming.
Use cases
- Background blur.
- Background replacement (green screen).
- Beautification.
- Adding AR effects.
- Camera preview postprocessing.
Overview
In video-calling and streaming apps, DeepAR SDK serves as a video processing layer. Before camera frames are sent to the video-calling API for streaming, DeepAR processes them and outputs composited AR frames. DeepAR is only applied to the local (outgoing) video stream. Remote (incoming) video streams that also have AR applied are not processed. AR processing for remote streams is done locally on the device that sends out that particular stream. The local stream is presented on-screen either by DeepAR or by the streaming framework, that is an application implementation choice.
Video resolutions
When implementing a streaming or video-calling application, 3 different video resolutions need to be considered.
Camera resolution.
- Choose this resolution when initializing the camera.
- This one is the most important for the performance since DeepAR takes more time to analyze larger images. The smaller the resolution, the better performance of the app will be.
- It is strongly suggest you use
640x360
camera resolution.
DeepAR output resolution.
- This is the resolution of DeepAR output (camera + AR effect):
- iOS: Resolution of the AR view.
- Android: Resolution of the output surface.
- Web: Resolution of the canvas.
- This resolution impacts the final quality of the video stream the most.
- It needs to be also 16:9 since that is what most streaming API expect.
- The impact of this resolution on the performance is low.
- It is suggested to use
1920x1080
DeepAR output.
Streaming resolution.
- This is the resolution of the video being streamed to other users.
- The default for most APIs is 1280x720 and that is also the recommended resolution here,
Integrate DeepAR with streaming SDKa
Guides for each platform
Demo apps
These are the demo apps showcasing DeepAR SDK with video-calling and streaming frameworks.