# Multiple camera support

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

The Video SDK for Linux can send more than one camera stream from a single user at the same time, for example a webcam and a document camera. You manage extra streams with `IZoomVideoSDKVideoHelper`, identifying each stream by its camera device ID. To get the available device IDs, see [Get the camera list](/docs/video-sdk/linux/video/camera-controls/#get-the-camera-list).

## Enable or disable a multi-camera stream

To start sending an additional camera stream, call `enableMultiStreamVideo` with the camera's device ID. You can pass an optional custom name to label the stream. To stop the stream, call `disableMultiStreamVideo` with the same device ID.

```cpp
IZoomVideoSDKVideoHelper* pVideoHelper = m_pVideoSDK->getVideoHelper();

// Start sending an additional camera stream.
pVideoHelper->enableMultiStreamVideo(cameraDeviceID);

// Stop sending it.
pVideoHelper->disableMultiStreamVideo(cameraDeviceID);
```

## Mute or unmute a multi-camera stream

To temporarily stop sending frames for an additional stream without tearing it down, call `muteMultiStreamVideo`. Resume with `unmuteMultiStreamVideo`.

```cpp
IZoomVideoSDKVideoHelper* pVideoHelper = m_pVideoSDK->getVideoHelper();

pVideoHelper->muteMultiStreamVideo(cameraDeviceID);
pVideoHelper->unmuteMultiStreamVideo(cameraDeviceID);
```

## Render a remote multi-camera stream

When a remote user enables, mutes, or disables an additional stream, the SDK calls `onMultiCameraStreamStatusChanged` and passes the stream's status, the user, and the `IZoomVideoSDKRawDataPipe` for that stream. Subscribe to that pipe to render the extra stream the same way you render a user's main video.

```cpp
void CExampleListener::onMultiCameraStreamStatusChanged(ZoomVideoSDKMultiCameraStreamStatus status, IZoomVideoSDKUser* pUser, IZoomVideoSDKRawDataPipe* pVideoPipe)
{
    // Subscribe to pVideoPipe to render the additional stream.
}
```

For the subscription and rendering flow, see [Receive raw data](/docs/video-sdk/linux/raw-data/receive-raw-data/).
