# Video Recording - [When to Use](#en-us_topic_0000001051451869_section186634310418) - [Available APIs](#en-us_topic_0000001051451869_section125479541744) - [Limitations and Constraints](#en-us_topic_0000001051451869_section1165911177314) - [How to Develop](#en-us_topic_0000001051451869_section1196016315516) ## When to Use Use the camera module APIs to capture video streams. ## Available APIs For details, see the available APIs described in development guidelines on photographing. ## Limitations and Constraints None ## How to Develop 1. Perform step 1 through step 4 described in development guidelines on photographing. 2. Obtain the **FrameConfig** instance for audio recording. ``` /* Obtain the surface from the recorder. */ Surface *surface = recorder_->GetSurface(0); surface->SetWidthAndHeight(1920, 1080); surface->SetQueueSize(3); surface->SetSize(1024 * 1024); /* Add the surface to the FrameConfig instance. */ FrameConfig *fc = new FrameConfig(FRAME_CONFIG_RECORD); fc->AddSurface(*surface); ``` 3. Start and stop video recording. ``` stateCallback->camera_->TriggerLoopingCapture(*fc); // Start recording. stateCallback->camera_->StopLoopingCapture(); // Stop recording. ```