feat: add OBS recording engine and validation probe

clipbin-obs starts the pinned libobs on a dedicated thread, opens exactly the
bundled plugin allowlist, and records official capture sources through one
hardware encoder into keyframe-aligned Matroska segments. Status reaches
Recording only once the source has a picture and the segment grows on disk.

clipbin-probe lists and verifies hardware encoders and records from a real
capture source, printing status, health and segment events for validation.
This commit is contained in:
2026-10-08 14:12:06 +02:00
parent 80b6abdb32
commit f2eb7139da
14 changed files with 2470 additions and 3 deletions
+18
View File
@@ -0,0 +1,18 @@
//! Clipbin's recording engine on top of the pinned libobs runtime.
//!
//! Capture uses only official OBS sources: Game Capture and Window Capture on
//! Windows, Xcomposite on X11, and PipeWire through the desktop portal on
//! Wayland. See SPEC.md.
pub mod capture;
pub mod encoders;
mod ffi;
mod recorder;
pub mod runtime;
mod thread;
pub use recorder::{
Engine, EngineError, Health, RecorderEvent, Recording, RecordingConfig, SEGMENT_EXTENSION,
StatusTracker, StopReason, VideoFormat,
};
pub use runtime::{RuntimeError, RuntimeLayout};