VideoFrame implementation can now contains any VideoFormat type:source = rtc.VideoSource(track)
my_frame = rtc.VideoFrame(1920, 1080, rtc.VideoBufferType.RGBA, data)
source.capture_frame(my_frame)
convert method to convert a VideoFrame to another format:i420_frame = my_frame.convert(rtc.VideoBufferType.I420)
VideoStreamstream = rtc.VideoStream(track, format=rtc.VideoBufferType.RGBA)
VideoStream and AudioStream now receive events instead of directly receiving a frame:stream = rtc.AudioStream(track)
async for event in stream:
frame = event.frame
Full Changelog: https://github.com/livekit/python-sdks/compare/rtc-v0.8.0...rtc-v0.9.0
Fetched April 11, 2026