1# Video Recording<a name="EN-US_TOPIC_0000001054754827"></a> 2 3- [When to Use](#en-us_topic_0000001051451869_section186634310418) 4- [Available APIs](#en-us_topic_0000001051451869_section125479541744) 5- [Limitations and Constraints](#en-us_topic_0000001051451869_section1165911177314) 6- [How to Develop](#en-us_topic_0000001051451869_section1196016315516) 7 8## When to Use<a name="en-us_topic_0000001051451869_section186634310418"></a> 9 10Use the camera module APIs to capture video streams. 11 12## Available APIs<a name="en-us_topic_0000001051451869_section125479541744"></a> 13 14For details, see the available APIs described in development guidelines on photographing. 15 16## Limitations and Constraints<a name="en-us_topic_0000001051451869_section1165911177314"></a> 17 18None 19 20## How to Develop<a name="en-us_topic_0000001051451869_section1196016315516"></a> 21 221. Perform step 1 through step 4 described in development guidelines on photographing. 232. Obtain the **FrameConfig** instance for audio recording. 24 25 ``` 26 /* Obtain the surface from the recorder. */ 27 Surface *surface = recorder_->GetSurface(0); 28 surface->SetWidthAndHeight(1920, 1080); 29 surface->SetQueueSize(3); 30 surface->SetSize(1024 * 1024); 31 /* Add the surface to the FrameConfig instance. */ 32 FrameConfig *fc = new FrameConfig(FRAME_CONFIG_RECORD); 33 fc->AddSurface(*surface); 34 ``` 35 363. Start and stop video recording. 37 38 ``` 39 stateCallback->camera_->TriggerLoopingCapture(*fc); // Start recording. 40 stateCallback->camera_->StopLoopingCapture(); // Stop recording. 41 ``` 42 43 44