# Preview Before joining a session, you can give users a preview of their video and audio by starting the camera and microphone locally. Access local video and audio through `IZoomVideoSDKVideoHelper` and `IZoomVideoSDKTestAudioDeviceHelper`. ## Preview camera To preview a camera on Linux, you will need a video UI control (such as QT, GTK, SDL, OpenCV or another) and stream YUV420 raw data frames into the UI control as a video. Configure the camera with the following code. ```cpp //Get list of Cameras IZoomVideoSDK* video_sdk_obj = CreateZoomVideoSDKObj(); IVideoSDKVector *cameras = video_sdk_obj->getVideoHelper()->getCameraList(); //Get ID of selected camera const zchar_t* deviceID = cameras->GetItem(0)->getDeviceId(); //Start Preview, and handle the callback in a ZoomVideoSDKRawDataPipeDelegate instance ZoomVideoSDKRawDataPipeDelegate* dataDelegate = new ZoomVideoSDKRawDataPipeDelegate(); video_sdk_obj->getVideoHelper()->startVideoPreview(dataDelegate, deviceID); //Stop Preview IZoomVideoSDKVideoHelper->stopVideoPrevew(); ``` Handle the callback with the following code. ```cpp //Handle callback void ZoomVideoSDKRawDataPipeDelegate::onRawDataFrameReceived(YUVRawDataI420 *data){ //assign the data (yuv420 frame) here to your video UI control (QT, GTK, SDL, OpenCV) to preview your camera stream. } ``` ## Preview audio unsupported The Video SDK for Linux does not support microphone and speaker preview.