ไลบรารีนี้ตั้งใจที่จะจัดเตรียมการผูกเข้ากับไลบรารีภายในของ obs-studio ซึ่งตั้งชื่อ libobs ตามนั้น เพื่อวัตถุประสงค์ในการใช้งานจากรันไทม์ของโหนด ปัจจุบันรองรับเฉพาะ Windows และ MacOS เท่านั้น
คุณจะต้องติดตั้งสิ่งต่อไปนี้:
การสร้างบน windows ต้องใช้ซอฟต์แวร์เพิ่มเติม:
เราใช้สคริปต์ cmake ที่ยืดหยุ่นเพื่อให้กว้างและกว้างที่สุดเท่าที่จะเป็นไปได้ เพื่อป้องกันความจำเป็นในการจัดการสคริปต์ cmake สำหรับการใช้งานแบบกำหนดเองอย่างต่อเนื่อง ในขณะเดียวกันก็ให้ค่าเริ่มต้นที่สมเหตุสมผลด้วย มันเป็นไปตามเค้าโครง cmake ที่เป็นมาตรฐานและคุณสามารถดำเนินการได้ตามที่คุณต้องการ
ตัวอย่าง:
yarn install
git submodule update --init --recursive
mkdir build
cd build
cmake .. -G"Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH=%CD%/libobs-src/cmake/
cmake --build . --target install --config RelWithDebInfo
การดำเนินการนี้จะดาวน์โหลดการขึ้นต่อกันที่จำเป็น สร้างโมดูล และจากนั้นวางไว้ในไฟล์เก็บถาวรที่เข้ากันได้กับ npm หรือเส้นด้ายที่คุณอาจระบุใน package.json ที่กำหนด
ตามค่าเริ่มต้น เราจะดาวน์โหลด libobs เวอร์ชันที่สร้างไว้ล่วงหน้าหากไม่มีการระบุไว้ อย่างไรก็ตาม เวอร์ชันที่สร้างไว้ล่วงหน้านี้อาจไม่ใช่สิ่งที่คุณต้องการใช้ หรือบางทีคุณอาจกำลังทดสอบฟีเจอร์ obs ใหม่
คุณสามารถระบุไฟล์เก็บถาวรแบบกำหนดเองของคุณเองได้ อย่างไรก็ตาม จำเป็นต้องเปลี่ยนแปลงการกำหนดค่าเริ่มต้นของ obs-studio ก่อนสร้าง:
ENABLE_SCRIPTING
ต้องตั้งค่าเป็น false
ENABLE_UI
ต้องตั้งค่าเป็น false
QTDIR
เนื่องจากไม่ได้ใช้หากคุณไม่ทราบวิธีสร้าง obs-studio จากแหล่งที่มา คุณสามารถดูคำแนะนำได้ที่นี่
ติดตั้ง cppcheck จาก http://cppcheck.sourceforge.net/ และเพิ่มโฟลเดอร์ cppcheck ไปที่ PATH หากต้องการเรียกใช้การตรวจสอบจากบรรทัดคำสั่ง:
cd build
cmake --build . --target CPPCHECK
สามารถสร้างเป้าหมายได้จาก Visula Studio รายงานรูปแบบเอาต์พุตที่กำหนดว่าเข้ากันได้และการนำทางไปยังไฟล์:บรรทัดที่เป็นไปได้จากแผงผลลัพธ์ของบิลด์
คำเตือนบางอย่างถูกระงับในไฟล์ obs-studio-client/cppcheck_suppressions_list.txt
และ obs-studio-server/cppcheck_suppressions_list.txt
ต้องติดตั้ง Ninja
และ LLVM
ในระบบ คำเตือน: depot_tool ทำให้นินจาพัง
หากต้องการสร้าง build ให้เปิด cmd.exe
mkdir build_clang
cd build_clang
"c:Program Files (x86)Microsoft Visual Studio 14.0VCbinamd64vcvars64.bat"
set CCC_CC=clang-cl
set CCC_CXX=clang-cl
set CC=ccc-analyzer.bat
set CXX=c++-analyzer.bat
#set CCC_ANALYZER_VERBOSE=1
#make ninja project
cmake -G "Ninja" -DCLANG_ANALYZE_CONFIG=1 -DCMAKE_INSTALL_PREFIX:PATH="" -DCMAKE_LINKER=lld-link -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_SYSTEM_NAME="Generic" -DCMAKE_MAKE_PROGRAM=ninja.exe ..
#try to build and "fix" errors
ninja.exe
#clean build to scan
ninja.exe clean
scan-build --keep-empty -internal-stats -stats -v -v -v -o check ninja.exe
ขั้นตอนที่มีข้อผิดพลาด "fixing"
มีความสำคัญเนื่องจากฐานโค้ดและโดยเฉพาะอย่างยิ่งโค้ดของบุคคลที่สามยังไม่พร้อมที่จะสร้างด้วยเสียงดังกราว และไฟล์ที่ไม่สามารถคอมไพล์ได้จะไม่ถูกสแกนหาข้อผิดพลาด
การทดสอบโหนด obs studio เขียนด้วย typescript และใช้ Mocha เป็นเฟรมเวิร์กการทดสอบ โดยมีแพ็คเกจอิเล็กตรอน-มอคค่าเพื่อให้ Mocha รันในอิเล็กตรอน และใช้ Chai เป็นเฟรมเวิร์กการยืนยัน
คุณต้องสร้าง obs-studio-node เพื่อรันการทดสอบ คุณสามารถสร้างมันขึ้นมาได้ตามที่คุณต้องการ เพียงแค่ต้องแน่ใจว่าใช้ CMAKE_INSTALL_PREFIX
เพื่อติดตั้ง obs-studio-node ในโฟลเดอร์ที่คุณเลือก การทดสอบใช้ตัวแปรนี้เพื่อทราบว่าโมดูล obs-studio-node อยู่ที่ไหน เนื่องจากเราใช้ทางแยกอิเล็กตรอนของเราเอง คุณจึงต้องสร้างตัวแปรสภาพแวดล้อมที่เรียกว่า ELECTRON_PATH
ซึ่งชี้ไปยังตำแหน่งที่ไบนารีของอิเล็กตรอนอยู่ในโฟลเดอร์ node_modules หลังจากที่คุณรัน yarn install
ด้านล่างนี้เป็นสามวิธีในการสร้าง obs-studio-node:
ในโฟลเดอร์รูท obs-studio-node:
yarn install
git submodule update --init --recursive --force
mkdir build
cmake -Bbuild -H. -G"Visual Studio 16 2019" -A x64 -DCMAKE_INSTALL_PREFIX="path_of_your_choosing"
cmake --build build --target install
ในโฟลเดอร์รูท obs-studio-node:
mkdir build
yarn local:config
yarn local:build
yarn local:clean
yarn install
Where is the source code:
Where to build the binaries:
Configure
Generate
Open Project
เพื่อเปิด Visual Studio และสร้างโครงการที่นั่น การทดสอบบางอย่างโต้ตอบกับ Twitch และเราใช้บริการกลุ่มผู้ใช้เพื่อรับผู้ใช้ แต่ในกรณีที่เราไม่สามารถดึงข้อมูลผู้ใช้จาก Twitch ได้ เราจะใช้สตรีมคีย์ที่ได้รับจากตัวแปรสภาพแวดล้อม สร้างตัวแปรสภาพแวดล้อมที่เรียกว่า SLOBS_BE_STREAMKEY ด้วยสตรีมคีย์ของบัญชี Twitch ที่คุณเลือก
yarn run test
yarn run test --grep describe_name_value
โดยที่ describe_name_value
คือชื่อของการทดสอบที่ส่งไปยังการเรียกอธิบายในไฟล์ทดสอบแต่ละไฟล์ ตัวอย่าง: yarn run test --grep nodeobs_api
หรือ yarn run test -g "Start streaming"