Skip to content

Add pre-encoded video passthrough publish path#1223

Draft
chenosaurus wants to merge 1 commit into
mainfrom
dc/preencoded-core
Draft

Add pre-encoded video passthrough publish path#1223
chenosaurus wants to merge 1 commit into
mainfrom
dc/preencoded-core

Conversation

@chenosaurus

Copy link
Copy Markdown
Contributor

This PR contains core SDK changes that add the ability for the Rust-SDK to ingest pre-encoded video frames. This is only the core plumbing to allow these frames to be captured and passed thru a passthru encoder.

  • webrtc-sys
    • New passthrough_video_encoder.{h,cpp}: a webrtc::VideoEncoder that passes pre-encoded H264/H265/VP8/VP9/AV1 access units through without re-encoding, forwarding WebRTC rate-control targets and keyframe requests back to the encoded source.
    • New encoded_video_frame_buffer.{h,cpp}: carries encoded payloads through the VideoFrameBuffer pipeline.
    • video_track.{h,cpp,rs}, video_encoder_factory.cpp, rtp_sender.cpp: plumbing to capture encoded frames into a source and select the passthrough encoder.
    • jetson/jetson_av1_bitstream.{h,cpp} now compiles on all platforms (was Jetson-only) for AV1 OBU validation on ingest; small fixes in the Jetson AV1 encoder path.
  • libwebrtc: new public API — EncodedVideoFrame, EncodedVideoCodec, EncodedFrameType, EncodedRateControl, VideoEncoderBackend::PreEncoded, capture_encoded_frame on the native video source.

…ebrtc

webrtc-sys gains a passthrough video encoder and an encoded video frame
buffer so pre-encoded H264/H265/VP8/VP9/AV1 access units can flow through
the WebRTC pipeline without re-encoding, with rate-control targets and
keyframe requests forwarded back to the encoded source. libwebrtc exposes
the corresponding public API: EncodedVideoFrame, EncodedVideoCodec,
EncodedFrameType, EncodedRateControl, and VideoEncoderBackend::PreEncoded.
The Jetson AV1 bitstream helpers are now compiled on all platforms for
AV1 ingest validation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Changeset

The following package versions will be affected by this PR:

Package Bump
"libwebrtc" patch
"livekit" patch
"webrtc-sys" patch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant