Are you in need of a user-friendly and dependable video recording solution? ZEGOCLOUD video recorder is your answer. With flexible recording modes, personalized layouts, and automated cloud storage, ZEGOCLOUD is the ideal option for all your video recording requirements. Whether it’s a single-stream or mixed-stream recording, it has got you covered. Begin recording your videos now with ZEGOCLOUD and never miss a moment.
ZEGOCLOUD Cloud Recording to Record Video
ZEGOCLOUD offers a versatile cloud recording solution known as ZEGOCLOUD Cloud Recording SDK, that allows users to easily capture and store video content for various use cases.
With its user-friendly interface and powerful features, ZEGOCLOUD makes it easy for anyone to record and store high-quality video content in the cloud.
1. Multiple Recording Modes
ZEGOCLOUD’s cloud recording SDK supports various recording modes, including single-stream recording and mixed-stream recording. With single-stream recording, users can record a single stream of video content, while mixed-stream recording allows users to capture multiple streams of video content and combine them into a single output file.
2. Customizable Layouts
With ZEGOCLOUD, users can customize the layout of their video content to match their specific needs. The SDK provides a MixMode parameter that enables users to adjust the layout of the recorded content. Additionally, users can also specify the format of the output file, choosing between mp4, flv, and hls.
3. Whiteboard Recording
ZEGOCLOUD’s cloud recording SDK also supports whiteboard recording, enabling users to capture whiteboard content along with their video content. Users can specify the configuration of the whiteboard using an array in JSON format.
4. Screenshot Capture
In addition to recording video content, ZEGOCLOUD’s cloud recording SDK also supports screenshot capture. Users can set the OutputFileFormat parameter to jpg and specify the SnapshotInterval to take screenshots at regular intervals. The captured screenshots are automatically uploaded to the user’s third-party cloud storage and can be accessed through a callback notification.
How to Start Recording Video with ZEGOCLOUD SDK
This section is the most exciting part where we will learn how to use the ZEGO Cloud Recording SDK in our video call applications. Let’s dive right into it!
Preparation
- A ZEGOCLOUD developer account – Sign up
- Enable third-party cloud storage – Contact Technical Support
- Understanding of web dev.
- Integrate ZEGOCLOUD video and audio call SDK
Steps on How to Start Recording Video with ZEGOCLOUD SDK
To initiate HD video call recording using ZEGO Cloud Recording, follow the steps given below:
1. Start Cloud Recording
To begin cloud recording using ZEGO Cloud Recording, you can use the StartRecord
method along with a room ID to join a specific room. After successfully calling the method, you can obtain the taskID (UID) from the response, and the body proceeds with the recording process.
2. View Recording Status
To check the progress of your cloud recording, repeatedly call the DescribeRecordStatus
method. The response body contains the current recording status and uploads the address upon successful execution.
3. Modify Mixed-Stream Layout
Modify your video’s stream mixing layout while recording with ZEGOCLOUD by repeatedly using the UpdateLayout
method. For more information on editing stream mixing layout, refer to the Set Stream Mixing Layout feature.
4. Update the Whiteboard
To update the Whiteboard ID
during recording, use the UpdateWhiteboard
method repeatedly. For more information on Whiteboard Recording, please refer to the relevant feature.
5. Stop Cloud Recording
To stop cloud recording, use the StopRecord
method. This will end the recording process and save the recorded video to your third-party cloud storage.
6. Managing Recorded Files
Follow the steps below to manage your recorded files in the ZEGO Cloud Recording SDK.
Upload recorded files
Upon completion of the cloud recording task, the recorded files are uploaded to the designated third-party cloud storage. To review uploading details, utilize the DescribeRecordStatus method.
FileUrl
: Provides the URL
for uploaded recorded files.
Status
: Reports the uploading status of the recorded files.
VideoId
: Vod returns the VideoId
recorded files.
Once the recorded files are uploaded, the cloud recording triggers a callback to the specified callback URL.
Manage recorded file names
The name of the recording file contains critical data, including the StreamId and start recording timestamp. For detailed information, review the OutputFileRule
parameter specified in the StartRecord
method.
How to Record Different Types of Streams
After discussing the fundamental concepts of cloud recording, let’s now explore the practical aspects of recording streams using the ZEGOCLOUD Cloud Recording SDK.
1. Recording a Single Stream
To begin single-stream recording, set RecordMode
to 1 in StartRecord
and select the desired file format (mp4
, flv
, or hls
) using the OutputFileFormat
parameter.
Here’s a sample request:
{
"RoomId": "xxxx",
"RecordInputParams": {
"RecordMode": 1,
"StreamType": 3,
"MaxIdleTime": 60
},
"RecordOutputParams": {
"OutputFileFormat": "mp4",
"OutputFolder": "record/"
},
"StorageParams": {
"Vendor": 2,
"Region": "oss-xxxx",
"Bucket": "xxxx",
"AccessKeyId": "xxxx",
"AccessKeySecret": "xxxx"
}
}
2. Mixed-stream Recording
To start mixed-stream recording, set RecordMode
parameter to 2 and choose mp4
, flv
, or hls
as the OutputFileFormat
parameter.
See an example below:
{
"RoomId": "xxxx",
"RecordInputParams": {
"RecordMode": 2,
"StreamType": 3,
"MaxIdleTime": 60,
"MixConfig": {
"MixMode": 2,
"MixOutputStreamId": "mix",
"MixOutputVideoConfig": {
"Width": 1280,
"Height": 720,
"Fps": 15,
"Bitrate": 1130000
}
}
},
"RecordOutputParams": {
"OutputFileFormat": "mp4",
"OutputFolder": "record/"
},
"StorageParams": {
"Vendor": 2,
"Region": "oss-xxxx",
"Bucket": "xxxx",
"AccessKeyId": "xxxx",
"AccessKeySecret": "xxxx"
}
}
3. Define Mixed-Stream Layout
During mixed-stream recording, you can define the video layout by setting the MixMode
parameter in StartRecord
and make further adjustments using the UpdateLayout
method.
Take a look at the following sample request for UpdateLayout
:
{
"TaskId": "xxxx",
"MixMode": 1,
"MixInputList": [
{
"StreamId": "xxxx",
"ViewType": 1,
"Top": 0,
"Left": 0,
"Bottom": 720,
"Right": 540,
"Layer": 1
},
{
"StreamId": "",
"ViewType": 1,
"Top": 0,
"Left": 540,
"Bottom": 360,
"Right": 1080,
"Layer": 1
},
{
"StreamId": "",
"ViewType": 1,
"Top": 360,
"Left": 540,
"Bottom": 720,
"Right": 1080,
"Layer": 1
}
]
}
4. Multi-sector recording
To activate whiteboard recording during mixed-stream recording, set the HasWhiteboard
parameter to true when calling StartRecord
. You can configure the whiteboard by using a JSON
array of whiteboard settings, but only one whiteboard can be set at a time.
Here’s a sample request for enabling whiteboard recording in mixed-stream mode:
{
"RoomId": "xxxx",
"RecordInputParams": {
"RecordMode": 2,
"StreamType": 3,
"HasWhiteboard": true,
"Whiteboard": [
{
"HorizontalRatio": 16,
"VerticalRatio": 9,
"Width": 1280,
"Height": 720,
"WhiteboardId": "0000"
}
],
"MaxIdleTime": 60,
"MixConfig": {
"MixMode": 3,
"MixOutputStreamId": "mix",
"MixOutputVideoConfig": {
"Width": 1280,
"Height": 720,
"Fps": 15,
"Bitrate": 1130000
}
}
},
"RecordOutputParams": {
"OutputFileFormat": "mp4",
"OutputFolder": "record/"
},
"StorageParams": {
"Vendor": 2,
"Region": "oss-xxxx",
"Bucket": "xxxx",
"AccessKeyId": "xxxx",
"AccessKeySecret": "xxxx"
}
}
5 . Take Screenshots
To take screenshots during single-stream recording, specify the jpg format for OutputFileFormat
and adjust the SnapshotInterval
parameter as required in the StartRecord
method. Note that screenshots cannot be captured in mixed-stream mode or for StreamType 1
. You can use the DescribeRecordStatus
method to retrieve task information, and once the screenshots are captured, they will be uploaded to your third-party cloud storage, with callback notifications for each completed task.
{
"RoomId": "xxxx",
"RecordInputParams": {
"RecordMode": 1,
"StreamType": 3,
"MaxIdleTime": 60
},
"RecordOutputParams": {
"OutputFileFormat": "jpg",
"OutputFolder": "record/",
"SnapshotInterval": 10
},
"StorageParams": {
"Vendor": 2,
"Region": "oss-xxxx",
"Bucket": "xxxx",
"AccessKeyId": "xxxx",
"AccessKeySecret": "xxxx"
}
}
For more details on how to use ZEGO Cloud Recording SDK, please visit the SDK’s documentation.
Conclusion
ZEGOCLOUD provides an easy-to-use and versatile solution for all your video recording needs. With its various recording modes, customizable layouts, and cloud storage capabilities, ZEGOCLOUD SDK is the perfect choice for developers seeking a powerful and reliable video recording platform. Start recording your videos today with ZEGOCLOUD and enjoy the benefits of seamless cloud recording.
Let’s Build APP Together
Start building with real-time video, voice & chat SDK for apps today!