Recording
Recording capabilities in VideoSDK Agents allow you to capture and store meeting conversations, enabling features like conversation analysis, compliance documentation, and quality assurance. VideoSDK provides three distinct recording approaches, each suited for different use cases and requirements.
Recording Types Overview
VideoSDK offers three types of recording functionality:
- Participant Recording - Built-in automatic recording managed by the agent framework
- Track Recording - Individual audio/video track recording with granular control
- Meeting Recording - Complete meeting session recording with composite output
1. Participant Recording (Built-in)
Participant recording is the simplest approach, automatically managed by the VideoSDK Agents framework when you enable the recording
parameter.
How It Works
When recording=True is set in RoomOptions, the system automatically:
- Starts recording when the agent joins the meeting.
- Starts recording for each participant as they join.
- Stops and merges recordings when the session ends.
Basic Setup
from videosdk.agents import JobContext, RoomOptions
def make_context():
return JobContext(
room_options=RoomOptions(
room_id="your-room-id",
auth_token="your-auth-token",
name="Recording Agent",
recording=True # Enable automatic participant recording
)
)
2. Track Recording
Track recording provides granular control over individual audio and video tracks, allowing you to record specific streams with custom configurations.
When to Use Track Recording
- Need to record specific audio/video tracks separately
- Require custom recording configurations per track
- Want to control recording start/stop timing manually
- Need different quality settings for different tracks
Key Features
- Individual Control: Start/stop recording for specific tracks
- Custom Configuration: Set different recording parameters per track
- Flexible Output: Choose output formats and quality settings
- Manual Management: Full control over recording lifecycle
API References for Track Recording
Start Track Recording
This API lets you record a track of participant of your room by passing roomId, participantId and kind as body parameters.
Stop Track Recording
This API lets you stop recording of track of participant of your room by passing roomId, participantId and kind as a body parameter.
Fetch a Track Recording
This API lets you fetch a particular track recording info by passing trackRecordingId as parameter.
Fetch All Track Recordings
This API lets you fetch details of your track recording by passing roomId, sessionId and participantId as query parameters.
Delete A Track Recording
This API lets you delete a particular track recording by passing trackRecordingId as parameter.
3. Meeting Recording
Meeting recording captures the entire meeting session as a single composite recording, including all participants and their interactions.
When to Use Meeting Recording
- Need a single recording file for the entire meeting
- Want automatic mixing of all audio/video streams
- Require meeting-level recording controls
- Need simplified post-processing workflow
Key Features
- Composite Output: Single recording file with all participants
- Automatic Mixing: Audio/video streams automatically combined
- Meeting-level Control: Start/stop recording for entire meeting
- Simplified Management: One recording per meeting session
API References for Meeting Recording
Start Recording
This API lets you record your room by passing roomId and config object as body parameters.
Stop Recording
This API lets you stop recording of your room by passing roomId as a body parameter.
Fetch Recordings
This API lets you fetch details of your recording by passing roomId and sessionId as query parameters.
List all Recordings
This API lets you fetch a particular recording info by passing recording Id as parameter.
Delete a Recording
This API lets you delete a particular recording by passing recording Id as parameter.
Choosing the Right Recording Type
Use Case | Recommended Type | Reason |
---|---|---|
Agent conversations with automatic management | Participant Recording | Built-in automation and channel separation |
Custom recording workflows | Track Recording | Granular control over individual streams |
Simple meeting archival | Meeting Recording | Single composite file for entire meeting |
Compliance and audit trails | Participant Recording | Automatic lifecycle management |
Advanced post-processing | Track Recording | Individual track access and control |
Best Practices
Recording Management
- Choose the appropriate recording type based on your use case
- Ensure proper authentication tokens for recording API access
- Monitor recording status and handle errors gracefully
- Plan for adequate storage capacity
Privacy and Compliance
- Inform participants that sessions are being recorded
- Implement proper data retention and deletion policies
- Ensure compliance with local privacy regulations
- Use appropriate recording type for your compliance requirements
Got a Question? Ask us on discord