Capturing a Video Clip

To record video data to a file, descriptor, or an URL, use the video recorder utility of the Multimedia Framework (MMF) to develop your application. To make use of the onboard camera to capture a video clip, the application needs to repeat the steps described in the illustration below.

Figure 1. The steps required to capture a video clip

Important implementation considerations include:

  • Make sure you include the VideoRecorder.h and mmfcontrollerpluginresolver.h header files in the appropriate class files.

  • Make sure you have correct capabilities information set for your application. You need at least the UserEnvironment capability. If you want to set the recording priority for the video and audio device, you need the MultimediaDD capability.

  • Make sure mediaclientvideo.lib and mmfcontrollerframework.lib are accessible to your linker when compiling your application by including it in your mmp file or by editing the project properties in your IDE, depending on your build environment.

  • To open a file for recording the CVideoRecorderUtility class requires the MMF Controller Framework API to specify controller and format UIDs.

  • If you need to use the display of the device as a viewfinder for your video application, request viewfinder frames using the CCamera class, and draw them yourself. For more information, see step 3 in To capture still images on a mobile device .

  • The settings you can use in your application depend on what the camera hardware on the device supports.

To capture a video clip

Use the methods of the CVideoRecorderUtility class to construct your application.

  1. Initialize the video recorder.

    • Create a video recorder object using the CVideoRecorderUtility::NewL method.

    • Resolve the supported video format and retrieve a list of controllers using the CMMFControllerPluginSelectionParameters and CMMFFormatSelectionParameters classes, and the respective type definitions RMMFControllerImplInfoArray and RMMFFormatImplInfoArray.

    • Open a file, descriptor or an URL to store the video clip in using the respective CVideoRecorderUtility::OpenFileL, CVideoRecorderUtility::OpenDesL, or CVideoRecorderUtility::OpenUrlL method.

    • Set the maximum video clip size using the CVideoRecorderUtility::SetMaxClipSizeL() method.

    • Prepare the record controller using the CVideoRecorderUtility::Prepare() method. MVideoRecorderUtilityObserver::MvruoPrepareComplete is called upon completion.

  2. Configure the audio and video settings.

    You can check and set, for example, the recording priority, audio track, video frame size and frame rate, audio and video codecs and bit rates, and recording gain of the video clip. For more information on the options, see the CVideoRecorderUtility class.

  3. Capture the video clip.

    • Start recording a video using the CVideoRecorderUtility::Record() method.

    • Pause recording using the CVideoRecorderUtility::PauseL() method.

    • Stop recording using the CVideoRecorderUtility::Stop() method.

  4. To exit the application or to switch it to the background, close audio and video controllers using the CVideoRecorderUtility::Close() method.

Additional information on capturing a video

For a reference example, see the Camera Example: Capturing and controlling the images using Camera.

For more information on CVideoRecorderUtility, see:

For information on using encoded H264 video frames, see Using the Encoded H264 Video Frames to Capture Video.