Skip to main content
Version: 0.0.x

Track - Python

Introduction

The Track classes in the Video SDK provide a way to handle media streams, specifically video and audio tracks. The CustomVideoTrack and CustomAudioTrack classes are dummy implementations that generate green video frames and silent audio frames, respectively. These can be subclassed to create more useful implementations tailored to specific use cases.

Track Properties

CustomVideoTrack

  • kind: str
    • Type of media, in this case, "video".
  • _start: float
    • Timestamp indicating when the track started.
  • _timestamp: int
    • The current timestamp of the track.

CustomAudioTrack

  • kind: str
    • Type of media, in this case, "audio".
  • _start: float
    • Timestamp indicating when the track started.
  • _timestamp: int
    • The current timestamp of the track.

Track Methods

CustomVideoTrack Methods

async recv() -> Frame

Receives the next VideoFrame, which is a green frame with a resolution of 640x480 pixels at 30fps.

  • Returns:
    • Frame: The next video frame.

CustomAudioTrack Methods

async recv() -> Frame

Receives the next AudioFrame, which is a silent audio frame.

  • Returns:
    • Frame: The next audio frame.

Example Usage

Here's an example of how you might subclass CustomVideoTrack to create a custom video track:

class MyCustomVideoTrack(CustomVideoTrack):
async def recv(self) -> Frame:
# Your custom implementation here
pass

And similarly, for the audio track:

class MyCustomAudioTrack(CustomAudioTrack):
async def recv(self) -> Frame:
# Your custom implementation here
pass

Conclusion

The Track classes in the Video SDK are designed to provide a flexible and extensible way to handle media streams in your applications. By subclassing CustomVideoTrack and CustomAudioTrack, you can create custom implementations tailored to your specific needs.

Implementation Guide

Got a Question? Ask us on discord