Beyond Complex Cameras: Complex Video Graphs Using PipeWire
summary
PipeWire routes video and audio as a process-spanning media graph, integrating with libcamera and managed by WirePlumber scriptable graph rules; demo splits capture, face‑detect filter, and renderer into three processes and runs correctly. Core claims: zero‑copy buffer sharing with fixed buffer set / DMA‑BUF and predictable latency, timestamps pass through but full AV sync is left to apps. Measured footprint is tiny — 0.08% CPU and ~50 MB RAM — while gst-launch decoding/compositing uses most CPU. Hardware encoder-as-node is proposed but not yet implemented.
AI-written summary · about
chapters (4)
related talks
28mCamera Applications with Libcamera and PipeWire
25mLibcamera: Making Complex Cameras Easy
13mVideoCompositor: a Case Study of Live Video Composing
34mExtending Libcamera to Provide a Fully Open Camera SoftISP Stack
38mVideo4Zephyr: From Basic APIs Towards a Full-fledged Video Subsystem
42mSoftware ISP FOSS Support for MIPI Cameras
29mComposite Video Device Abstraction for Libcamera
19mDifferent Strategies for Dynamic Media Pipelines in Recording Video Calls
