Screenshots

Screenshots

You can capture high-resolution screenshots of any call participant’s video feed or screen sharing session using the useScreenshot hook.

Let’s for example take the dominant speaker in the call and create a screenshot:

import { Image } from "react-native"; import {  useCallStateHooks,  useScreenshot, } from "@stream-io/video-react-native-sdk";  // get the speaker that needs to be screenshot const { useDominantSpeaker } = useCallStateHooks(); const dominantSpeaker = useDominantSpeaker();  const { takeScreenshot } = useScreenshot(); const base64PngImage = await takeScreenshot(dominantSpeaker, "videoTrack");  // Display the screenshot <Image  source={{ uri: `data:image/png;base64,${base64PngImage}` }}  resizeMode="contain" />;

Screenshot Options

Video Track Screenshots

To capture a participant’s video feed:

import { useScreenshot } from "@stream-io/video-react-native-sdk";  const { takeScreenshot } = useScreenshot(); const base64PngImage = await takeScreenshot(participant, "videoTrack");

Screen Sharing Screenshots

To capture a participant’s screen sharing session:

import { useScreenshot } from "@stream-io/video-react-native-sdk";  const { takeScreenshot } = useScreenshot(); const base64PngImage = await takeScreenshot(participant, "screenShareTrack");

The SDK provides functionality to capture screenshots but does not include built-in methods for storing these images. If you need to save screenshots to the device’s gallery or cloud storage, you’ll need to implement this functionality separately.

© Getstream.io, Inc. All Rights Reserved.