Platform docs
Auth, users, webhooks & more

Screenshots

Screenshots

Capture high-resolution screenshots of participant video or screen shares using useScreenshot.

Dominant speaker screenshot example:

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

Capture video feed:

import { useScreenshot } from "@stream-io/video-react-native-sdk";

const { takeScreenshot } = useScreenshot();
const base64PngImage = await takeScreenshot(participant, "videoTrack");

Screen Sharing Screenshots

Capture screen share:

import { useScreenshot } from "@stream-io/video-react-native-sdk";

const { takeScreenshot } = useScreenshot();
const base64PngImage = await takeScreenshot(participant, "screenShareTrack");
Note:

The SDK captures screenshots but does not store them. Implement gallery/cloud storage separately.

Add Chat to my app: getstream.io/SKILL.md

The fastest way to build with Stream. Start a new project or improve an existing one. Full CLI and documentation integration out of the box.


Ask your agent:

/stream Build me a Social App with Feeds and Moderation.
/stream Any livestream calls running?
/stream Video React Native v1: <Your Question>