1个不稳定版本
0.1.0 | 2024年8月5日 |
---|
#248 在 视频
109 每月下载量
505KB
2K SLoC
libOBS Sources
此crate使用libobs crate轻松创建OBS Studio的新源。
示例
// Set up the obs context and output here (see libobs-new crate for more info)
let (mut context, output) = initialize_obs(rec_file);
let output = context.get_output(&output).unwrap();
let windows =
WindowCaptureSourceBuilder::get_windows(WindowSearchMode::ExcludeMinimized).unwrap();
let window = windows.into_iter().find(|w| {
w.class
.as_ref()
.is_some_and(|e| e.to_lowercase().contains("notepad"))
})
.unwrap();
WindowCaptureSourceBuilder::new("test_capture")
.set_window(&window)
.add_to_output(output, 0)
.unwrap();
// And the window capture source is added and captures the notepad window!
lib.rs
:
一个用于创建OBS源的库,无需了解源使用哪些属性。示例用法(仅在Windows上捕获窗口)
use libobs_window_helper::WindowSearchMode;
use libobs_wrapper::{context::ObsContext, sources::ObsSourceBuilder, utils::{OutputInfo, StartupInfo}};
use libobs_sources::windows::WindowCaptureSourceBuilder;
let output = context.output(output_info).unwrap();
// Do other initialization for video encoders, audio encoders, etc.
let windows = WindowCaptureSourceBuilder::get_windows(WindowSearchMode::IncludeMinimized).unwrap();
let example_window = windows.get(0).unwrap();
WindowCaptureSourceBuilder::new("Test Window Capture")
.set_window(example_window)
// Obs Output is created from `ObsContext`
.add_to_output(output, 0)
.unwrap();
依赖关系
~2–33MB
~498K SLoC