updated to ubuntu 26

This commit is contained in:
2026-06-25 21:45:15 +01:00
parent d8d2518924
commit 5a191cc425
3 changed files with 93 additions and 41 deletions
+15 -7
View File
@@ -4,14 +4,15 @@ GStreamer WebRTC Agent for CSS Streaming
Two tracks published to Cloudflare Calls:
- Video: ximagesrc (Xwayland :99) → VP8 → webrtcbin
- Game audio: pulsesrc → Opus → webrtcbin
- Game audio: pipewiresrc → Opus → webrtcbin
CSS renders via Wine Wayland driver → Weston (Vulkan/DXVK) → Xwayland → X11
ximagesrc captures from Xwayland X11 display :99
Dependencies:
apt: python3-gst-1.0 gstreamer1.0-plugins-bad gstreamer1.0-plugins-good
gstreamer1.0-plugins-ugly gstreamer1.0-libav xdotool weston xwayland
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-pipewire
xdotool weston xwayland wireplumber pipewire pipewire-pulse
pip: requests websockets
"""
@@ -109,19 +110,26 @@ class CSSStreamAgent:
def build_pipeline(self):
pipeline_str = (
# Video: ximagesrc from Xwayland display → VP8
# Video: ximagesrc → convert → scale → rate-enforce → VP8
# videoconvert must come before caps negotiation;
# videoscale enforces width/height; videorate enforces framerate.
f'ximagesrc display-name={DISPLAY} use-damage=0 ! '
f'video/x-raw,framerate={CAP_FPS}/1,width={CAP_W},height={CAP_H} ! '
f'videoconvert ! '
f'videoscale ! '
f'videorate ! '
f'video/x-raw,framerate={CAP_FPS}/1,width={CAP_W},height={CAP_H} ! '
f'vp8enc deadline=1 target-bitrate=1500000 keyframe-max-dist=60 '
f'error-resilient=partitions lag-in-frames=0 ! '
f'rtpvp8pay pt=96 ! '
f'application/x-rtp,media=video,encoding-name=VP8,payload=96 ! '
f'webrtcbin. '
# Game audio: pulsesrc → Opus
f'pulsesrc ! '
f'audio/x-raw,rate=48000,channels=2 ! '
# Game audio: pipewiresrc → Opus
# pipewiresrc is the native PipeWire GStreamer source (Ubuntu 24+/26).
# It connects to the default audio output monitor via PipeWire directly,
# avoiding the PulseAudio compatibility layer entirely.
f'pipewiresrc ! '
f'audio/x-raw,format=F32LE,rate=48000,channels=2 ! '
f'audioconvert ! '
f'opusenc ! '
f'rtpopuspay pt=97 ! '