Capture Snapshot

You can capture a snapshot of the video stream of a local or remote peer's video.

Minimum Requirements

SDK version 1.3.0

How to capture the snapshot

You can capture a snapshot of the video stream of a local or remote peer's video. To capture a snapshot, you call captureSnapshot() method on HMSVideoTrack instance to get a Uint8List containing a snapshot of the video stream.

HMSVideoTrack videoTrack; ... //Capture snapshot will return a nullable Uint8List type. Uint8List? bytes = await videoTrack.captureSnapshot();

Display image

To display an image use Image.memory widget which will take Uint8List as a parameter and return an Image widget.

//Show Image in Image Widget if (bytes != null) { Image imageWidget = Image.memory(bytes); //Show image widget in widget tree. }

Save Image

To save an image in gallery use a 3rd Party plugin image_gallery_saver which will take Uint8List as one of the parameter and save a image in gallery directly.

//Save Image in Gallery if (bytes != null) { Map result = await ImageGallerySaver.saveImage(bytes, quality: 100, name: "imageName"); //Use 3rd Party Plugin image_gallery_saver to save image in gallery. }

To know more about image_gallery_saver plugin click here.

Example Video

Checkout the example video implemented in our sample app:


Have a suggestion? Recommend changes ->

Was this helpful?

1234