您现在的位置是:首页 >技术交流 >编译windows版本obs-studio推流器网站首页技术交流

编译windows版本obs-studio推流器

telllong 2024-06-17 10:13:16
简介编译windows版本obs-studio推流器

目录

obs-studio介绍

环境准备

下载源码

配置依赖环境

编写编译脚本

编译

报错与修改

运行程序

References


obs-studio介绍

OBS Studio是一款免费、开源且跨平台的录屏和直播软件。它支持Windows、Mac和Linux系统,主要用于制作游戏视频、教育教程、演示文稿、视频直播等。
OBS Studio具有多种功能,包括兼容各种视频源、支持高分辨率输出、支持多个屏幕、支持多种称重算法、内置音频滤波器、支持可定制的场景和过渡,以及一个实时录制和流媒体功能等。
使用OBS Studio可以录制电脑屏幕、网络摄像头、麦克风和音频设备,并进行混音,同时可以进行实时流媒体输出到各种流媒体平台,如Twitch、YouTube和Facebook。
总之,OBS Studio是一款非常强大的工具,它适用于任何需要进行录屏或者流媒体直播的场景。

环境准备

    windows 10系统
    安装vs2019+
    安装ninja工具

下载源码

    git clone --recursive https://github.com/obsproject/obs-studio
    可以直接使用官方的powershell脚本进行编译,简单方便
    https://github.com/obsproject/obs-studio/wiki/Build-Instructions-For-Windows

配置依赖环境

    https://cdn-fastly.obsproject.com/downloads/vlc.zip
    https://github.com/obsproject/obs-deps/releases/download/2023-04-12/windows-deps-2023-04-12-x64.zip
    https://github.com/obsproject/obs-deps/releases/download/2023-04-12/windows-deps-qt5-2023-04-12-x64.zip
    https://cdn-fastly.obsproject.com/downloads/cef_binary_4638_windows_x64.zip

将以上依赖库 下载完成后解压到指定目录中,目录对应关系,obs-build-dependencies与obs-studio目录同级

    cef_binary_4638_windows_x64.zip ==> obs-build-dependencies/cef_binary_4638_windows_x64
    windows-deps-qt5-2023-04-12-x64.zip ==> windows-deps-2023-04-12-x64
    windows-deps-2023-04-12-x64.zip ==> windows-deps-2023-04-12-x64
    vlc.zip ==> vlc-3.0.0-git

编写编译脚本

@REM -DCMAKE_SYSTEM_VERSION=10.0.18362.0 ^

set CEF_DIR=%cd%/../obs-build-dependencies/cef_binary_4638_windows_x64
set VLC_DIR=%cd%/../obs-build-dependencies/vlc-3.0.0-git
set DEP_DIR=%cd%/../obs-build-dependencies/windows-deps-2023-04-12-x64

cmake -Bbuild_ninja -G "Ninja" ^
        -S . ^
    -DCMAKE_SYSTEM_VERSION=10.0.20348.0 ^
    -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0.20348.0 ^
        -DCMAKE_PREFIX_PATH:PATH=%DEP_DIR% ^
        -DCEF_ROOT_DIR:PATH=%CEF_DIR% ^
        -DENABLE_BROWSER=ON ^
        -DVLC_PATH:PATH=%VLC_DIR% ^
        -DENABLE_VLC=ON ^
        -DCMAKE_INSTALL_PREFIX=%cd%/build_ninja/install ^
        -DCOPIED_DEPENDENCIES=OFF ^
        -DCOPY_DEPENDENCIES=ON ^
        -DBUILD_FOR_DISTRIBUTION=ON ^
        -DOBS_BUILD_NUMBER=holylong ^
        -DCOPIED_DEPENDENCIES=OFF ^
        -DCOPY_DEPENDENCIES=ON

以上脚本保存成build_ninja.bat,拷贝到 obs-sutdio源码目录

编译

  • 启动vs2019命令行工具
    %comspec% /k "D:Program Files (x86)Microsoft Visual Studio2019EnterpriseVCAuxiliaryBuildvcvarsx86_amd64.bat"
  • 开始编译
    build_ninja.bat

报错与修改

  • 编译错误一
    error: LNK2019: 无法解析的外部符号 __std_find_trivial_8

下载 ntv2_16_2_b3_libs_windows_x64.zip替换到windows-deps-2023-04-12-x64/lib目录下的ajantv2.lib库

  • 编译错误二
    obs-studioUIobs-app.cpp(1331): error C2593: “operator =”不明确

编辑代码obs-studioUIobs-app.cpp
源文件

branchesText = branchesFile.readAll();

修改后

branchesText = QString(branchesFile.readAll()).toStdString();

运行程序

进入到build_ninja undirDebugin64bit,执行obs64.exe

    cd build_ninja
undirDebugin64bit
    obs64.exe

References

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。