界面与品牌 - 默认 UI 语言固定为英文,不再跟随系统区域设置自动切换(frontend/OBSApp.cpp),用户仍可在设置中手动切换 - 程序图标更换为 CAIIC logo:exe 图标 obs-studio.ico 及界面/托盘/About 图标 obs.png - About 窗口精简为 logo + 名称 + 版本号,移除项目介绍、赞助名单、Authors/License 标签页 - 版本号定为 1.0.0(构建参数 OBS_VERSION_OVERRIDE=1.0.0) 分辨率支持 - 移除首次启动将画布强制限制为 1920x1080 的逻辑,默认使用显示器原生分辨率 - 设置-视频 与自动配置向导新增 3840x2160 / 2560x1440 预设 - 自动配置向导性能测试上限放宽至 4K60(软硬件编码数据率上限及起始分辨率钳制) 插件 - 集成 obs-shaderfilter 2.6.0(绿幕抠图/自定义着色器滤镜),并适配新版 libobs 的 gs_image_file_ex API - 补齐缺失的源码:obs-browser、obs-websocket、libdshowcapture(含 external/capture-device-support) 工程 - 新增 .gitignore,排除 deploy/ 发布目录与构建日志
108 lines
3.1 KiB
CMake
108 lines
3.1 KiB
CMake
cmake_minimum_required(VERSION 3.28...3.30)
|
|
|
|
option(ENABLE_PLUGINS "Enable building OBS plugins" ON)
|
|
|
|
if(NOT ENABLE_PLUGINS)
|
|
set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_DISABLED "Plugin Support")
|
|
return()
|
|
endif()
|
|
|
|
set_property(GLOBAL APPEND PROPERTY OBS_FEATURES_ENABLED "Plugin Support")
|
|
|
|
macro(check_obs_browser)
|
|
if((OS_WINDOWS AND CMAKE_VS_PLATFORM_NAME MATCHES "(ARM64|x64)") OR OS_MACOS OR OS_LINUX)
|
|
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-browser/CMakeLists.txt")
|
|
message(FATAL_ERROR "Required submodule 'obs-browser' not available.")
|
|
else()
|
|
add_subdirectory(obs-browser)
|
|
endif()
|
|
else()
|
|
add_custom_target(obs-browser)
|
|
target_disable(obs-browser)
|
|
endif()
|
|
endmacro()
|
|
|
|
macro(check_obs_websocket)
|
|
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/obs-websocket/CMakeLists.txt")
|
|
message(FATAL_ERROR "Required submodule 'obs-websocket' not available.")
|
|
else()
|
|
add_subdirectory(obs-websocket)
|
|
endif()
|
|
endmacro()
|
|
|
|
# Add plugins in alphabetical order to retain order in IDE projects
|
|
add_obs_plugin(
|
|
aja
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(aja-output-ui PLATFORMS WINDOWS MACOS LINUX WITH_MESSAGE)
|
|
add_obs_plugin(coreaudio-encoder PLATFORMS WINDOWS MACOS)
|
|
add_obs_plugin(
|
|
decklink
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(
|
|
decklink-captions
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(
|
|
decklink-output-ui
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(
|
|
frontend-tools
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(image-source)
|
|
add_obs_plugin(linux-alsa PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(linux-capture PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(linux-jack PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(linux-pipewire PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(linux-pulseaudio PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(linux-v4l2 PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(mac-avcapture PLATFORMS MACOS)
|
|
add_obs_plugin(mac-capture PLATFORMS MACOS)
|
|
add_obs_plugin(mac-syphon PLATFORMS MACOS)
|
|
add_obs_plugin(mac-videotoolbox PLATFORMS MACOS)
|
|
add_obs_plugin(mac-virtualcam PLATFORMS MACOS)
|
|
add_obs_plugin(nv-filters PLATFORMS WINDOWS)
|
|
|
|
check_obs_browser()
|
|
|
|
add_obs_plugin(obs-ffmpeg)
|
|
add_obs_plugin(obs-filters)
|
|
add_obs_plugin(obs-libfdk)
|
|
add_obs_plugin(obs-nvenc PLATFORMS WINDOWS LINUX)
|
|
add_obs_plugin(obs-outputs)
|
|
add_obs_plugin(
|
|
obs-qsv11
|
|
PLATFORMS WINDOWS LINUX
|
|
ARCHITECTURES x64 x86_64
|
|
)
|
|
add_obs_plugin(obs-shaderfilter)
|
|
add_obs_plugin(obs-text PLATFORMS WINDOWS)
|
|
add_obs_plugin(obs-transitions)
|
|
add_obs_plugin(
|
|
obs-vst
|
|
PLATFORMS WINDOWS MACOS LINUX
|
|
WITH_MESSAGE
|
|
)
|
|
add_obs_plugin(obs-webrtc)
|
|
|
|
check_obs_websocket()
|
|
|
|
add_obs_plugin(obs-x264)
|
|
add_obs_plugin(oss-audio PLATFORMS FREEBSD OPENBSD)
|
|
add_obs_plugin(rtmp-services)
|
|
add_obs_plugin(sndio PLATFORMS LINUX FREEBSD OPENBSD)
|
|
add_obs_plugin(text-freetype2)
|
|
add_obs_plugin(vlc-video WITH_MESSAGE)
|
|
add_obs_plugin(win-capture PLATFORMS WINDOWS)
|
|
add_obs_plugin(win-dshow PLATFORMS WINDOWS)
|
|
add_obs_plugin(win-wasapi PLATFORMS WINDOWS)
|