Skip to main content

LiveKit SDK for Python

Python SDK to integrate LiveKit's real-time video, audio, and data capabilities into your Python applications using WebRTC. Designed for use with LiveKit Agents to build powerful voice AI apps.

See https://docs.livekit.io/ for more information.

Publishing pre-encoded video

Use EncodedVideoSource when an upstream encoder already provides compressed frames. The source uses the same native passthrough encoder as the Rust SDK; Python does not decode or re-encode the video.

from livekit import rtc

source = rtc.EncodedVideoSource(width=640, height=360)
track = rtc.LocalVideoTrack.create_video_track("camera", source)
await room.local_participant.publish_track(
    track,
    rtc.TrackPublishOptions(
        video_codec=rtc.VideoCodec.VP9,
        video_encoder=rtc.VideoEncoderBackend.ENCODER_BACKEND_PRE_ENCODED,
        simulcast=False,
    ),
)
# Supply each complete encoded frame at its playback time.
source.capture_frame(rtc.EncodedVideoFrame(
    data=encoded_vp9_frame,
    width=640,
    height=360,
    codec=rtc.VideoCodec.VP9,
    frame_type=rtc.EncodedFrameType.ENCODED_FRAME_KEY,
    timestamp_us=capture_timestamp_us,
))
feedback = source.take_feedback()
# Forward feedback.keyframe_requested and feedback.rate_control to your encoder.
# At shutdown, unpublish the track and release the source:
await room.local_participant.unpublish_track(track.sid)
await source.aclose()

Supported codecs are H.264, H.265, VP8, VP9 and AV1, subject to receiver support. Submit complete access units (Annex B for H.264/H.265), not WebM/MP4 container bytes or RTP packets. A container must first be demuxed; demuxing extracts compressed frames and does not reconstruct pixels. The codec must match the publication and stay fixed, and simulcast must be disabled.

The caller controls pacing and handles keyframe and bitrate feedback. In particular, a prerecorded file cannot generate a new keyframe on demand for a late subscriber or after packet loss. WebM's auxiliary alpha data is not part of the VP9 color access unit and is not transported by this API.

Metadata

Release files for reactor-livekit-transport-client 1.2.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for reactor-livekit-transport-client 1.2.0.post1
File Interpreter ABI Platform Actions
reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_x86_64.whl
reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_aarch64.whl
reactor_livekit_transport_client-1.2.0.post1-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details for reactor_livekit_transport_client-1.2.0.post1-py3-none-macosx_11_0_arm64.whl

Total release size: 31.9 MB

Release files / reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_x86_64.whl

Download URL reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_x86_64.whl
Size 11.9 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
6a2fe5f683ee0a1f00ac159ca82fe0da2e640622e35bf46f4ebe490b60258689
BLAKE2b-256 checksum
How to use checksums
c7302f2317a2611aa5f1ec31854e914b1b015daf5cfc4b3947dceaff7f9c3989
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

Release files / reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_aarch64.whl

Download URL reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_aarch64.whl
Size 10.6 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
c68ea02e4bc894cb6b106f9e2635716b577e8e89882e35608691628b563a752e
BLAKE2b-256 checksum
How to use checksums
4368b550c1862ff6d2aa5decd913a5cb5f5f625090ca2863ed991a75cd004e91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

Release files / reactor_livekit_transport_client-1.2.0.post1-py3-none-macosx_11_0_arm64.whl

Download URL reactor_livekit_transport_client-1.2.0.post1-py3-none-macosx_11_0_arm64.whl
Size 9.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ee2aa81ff980d250505d7cd07b20f3255cee5c652e8f86d81cf6329e6b7a8d49
BLAKE2b-256 checksum
How to use checksums
c2fb7714d936d767eb3929c8a05f1850541bec266f5a683d3b7b2856b449c45b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

Security for reactor-livekit-transport-client 1.2.0.post1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 3 files in this release have been uploaded with provenance metadata.

Select from 3 files

Attestation for reactor_livekit_transport_client-1.2.0.post1-py3-none-manylinux_2_28_x86_64.whl

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page