تهدف هذه المكتبة إلى توفير روابط للمكتبة الداخلية لـ 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 النينجا.
لجعل البناء مفتوحًا 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"
الأخطاء مهمة لأن قاعدة التعليمات البرمجية وخاصة تعليمات الطرف الثالث ليست جاهزة للإنشاء باستخدام clang. ولن يتم فحص الملفات التي فشل تجميعها بحثًا عن الأخطاء.
تتم كتابة اختبارات عقدة obs studio في Typescript وتستخدم Mocha كإطار اختبار، مع حزمة الإلكترون-mocha لجعل Mocha يعمل في Electron، وChai كإطار عمل للتأكيد.
تحتاج إلى إنشاء عقدة obs-studio لإجراء الاختبارات. يمكنك إنشائه بالطريقة التي تريدها، فقط تأكد من استخدام CMAKE_INSTALL_PREFIX
لتثبيت obs-studio-node في مجلد من اختيارك. تستخدم الاختبارات هذا المتغير لمعرفة مكان وحدة عقدة obs-studio. نظرًا لأننا نستخدم تفرعنا الخاص من Electron، فأنت بحاجة أيضًا إلى إنشاء متغير بيئة يسمى ELECTRON_PATH
للإشارة إلى مكان وجود الثنائي Electron في المجلدNode_modules بعد تشغيل yarn install
. فيما يلي ثلاث طرق مختلفة لإنشاء عقدة obs-studio:
في المجلد الجذر لـ 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 ونستخدم خدمة تجمع المستخدمين للحصول على المستخدمين، ولكن في حالة عدم تمكننا من جلب مستخدم منها، فإننا نستخدم مفتاح الدفق الذي يوفره متغير البيئة. قم بإنشاء متغير بيئة يسمى 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"