updated wine to newer version, replaced xvfb with weston wayland that is using Xwayland. also switching from WineD3D to inbuilt vulkan support through DXVK which is send to weston using lavapipe instead of llvmpipe
This commit is contained in:
@@ -3,12 +3,15 @@
|
||||
GStreamer WebRTC Agent for CSS Streaming
|
||||
|
||||
Two tracks published to Cloudflare Calls:
|
||||
- Video: ximagesrc → VP8 → webrtcbin
|
||||
- Game audio: pulsesrc → Opus → webrtcbin
|
||||
- Video: ximagesrc (Xwayland :99) → VP8 → webrtcbin
|
||||
- Game audio: pulsesrc → 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
|
||||
gstreamer1.0-plugins-ugly gstreamer1.0-libav xdotool weston xwayland
|
||||
pip: requests websockets
|
||||
"""
|
||||
|
||||
@@ -106,7 +109,7 @@ class CSSStreamAgent:
|
||||
|
||||
def build_pipeline(self):
|
||||
pipeline_str = (
|
||||
# Video: ximagesrc → VP8
|
||||
# Video: ximagesrc from Xwayland display → VP8
|
||||
f'ximagesrc display-name={DISPLAY} use-damage=0 ! '
|
||||
f'video/x-raw,framerate={CAP_FPS}/1,width={CAP_W},height={CAP_H} ! '
|
||||
f'videoconvert ! '
|
||||
@@ -130,7 +133,7 @@ class CSSStreamAgent:
|
||||
f'stun-server=stun://stun.cloudflare.com:3478'
|
||||
)
|
||||
|
||||
log.info(f'Building pipeline {CAP_W}x{CAP_H}@{CAP_FPS}fps')
|
||||
log.info(f'Building pipeline {CAP_W}x{CAP_H}@{CAP_FPS}fps via Xwayland')
|
||||
self.pipeline = Gst.parse_launch(pipeline_str)
|
||||
self.webrtcbin = self.pipeline.get_by_name('webrtcbin')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user