- X264 تشفير
- تشفير QuickSync
. . libobs/obs-service.. .
(ملاحظة المؤلف: واجهة برمجة تطبيقات الخدمة غير مكتملة حتى كتابة هذه السطور)
على سبيل المثال ، لتنفيذ كائن خدمة ، تحتاج إلى تحديد بنية Obs_service_info وملء المعلومات والاسترداد المتعلقة بخدمتك:
.ج */ [. ] بنية my_service_service .بطاقة تعريف = "my_service", . = , . , .هدم my_service_destroy, .تشفير , .تحديث , .get_url = , .
ثم ، في my-plugin.C ، يمكنك الاتصال بـ obs_register_service () في obs_module_load () لتسجيل الخدمة مع libobs.
.ج */ [. ] خارجي ؛ /* محدد في الخدمة.ج */ obs_register_service& &my_service . ] ؛
كائنين الخدمتين الوحيدتين هما كائنات “خدمات RTMP الشائعة” و “خدمة RTMP المخصصة” في المكونات الإضافية/RTMP-Services
الإعدادات
.ح) يتم استخدامها للحصول على أو تعيين إعدادات البيانات المرتبطة عادة بكائنات libobs ، ويمكن بعد ذلك حفظها وتحميلها عبر نص JSON. راجع مرجع إعدادات إعدادات البيانات (obs_data_t) لمزيد من المعلومات.
ال obs_data_t .
لإنشاء obs_data_t obs_data_array_t . obs_data_t و obs_data_array_t . في أي وقت أو obs_data_array_t .
كائن ، ستستخدم إحدى الوظائف التالية:
فارغ obs_data_set_stringobs_data_t *بيانات, شار *, شار يصدّر فارغ obs_data_set_int((obs_data_t بيانات, اسم, طويل طويل فال يصدّر فارغ *بيانات, مقدار ثابت , ) ؛ ((obs_data_t بيانات, مقدار ثابت شار *اسم, بول فال *, شار *اسم, OBJ فارغ بيانات, مقدار ثابت اسم, obs_data_array_t *مجموعة مصفوفة) ؛
وبالمثل ، للحصول على قيمة من
يصدّر obs_data_get_string(( , اسم) ؛ obs_data_get_int *, مقدار ثابت شار ) ؛ يصدّر , اسم) ؛ يصدّر obs_data_get_bool *, يصدّر obs_data_get_obj((obs_data_t *, مقدار ثابت شار *اسم * بيانات, شار *اسم
يمكن للكائن أيضًا تعيين القيم الافتراضية. هذا يسمح بالقدرة على التحكم في ما يتم إرجاعه إذا لم تكن هناك قيمة مخصصة لسلسلة محددة في . كل كائن libobs لديه أيضا ملف get_defaults رد الاتصال الذي يسمح بإعداد الإعدادات الافتراضية للكائن عند الإنشاء.
/* وظائف القيمة الافتراضية. */ obs_data_set_default_string *, مقدار ثابت شار *اسم, شار *) ؛ يصدّر فارغ obs_data_set_default_intobs_data_t بيانات, *اسم, طويل فال) ؛ يصدّر obs_data_set_default_double((obs_data_t , مقدار ثابت شار *, يصدّر ((obs_data_t , *اسم, فارغ obs_data_t *بيانات, مقدار ثابت شار *اسم, obs_data_t ) ؛
الخصائص (انظر libobs/obs-properties.. كل كائن libobs لديه ملف . تحدد API Properties خصائص محددة مرتبطة بإعدادات الكائن ، ويستخدم الواجهة الأمامية تلك الخصائص لإنشاء عنصر واجهة مستخدم للسماح للمستخدم بتعديل الإعدادات. على سبيل المثال ، إذا كان لديك إعداد منطقي ، فستستخدم OBS_Properties_add_bool () للسماح للمستخدم أن يتمكن من تغيير هذا الإعداد. راجع مرجع API للخصائص (OBS_Properties_T) لمزيد من المعلومات.
مثال على هذا:
ثابتة obs_properties_t *((فارغ *) obs_properties_t * = obs_properties_create ((, , "Mybool" unused_parameterبيانات يعود PPTS؛ . my_source .get_properties , [. ] > ؛
المعلمة هي بيانات الكائن إذا كان الكائن موجودًا. عادةً ما يكون هذا غير مستخدم وربما لا ينبغي استخدامه إذا أمكن. .
يمكن أيضًا تعديل الخصائص اعتمادًا على الإعدادات التي يتم عرضها. وض.
((obs_properties_t PPTS, , , "SETPH_A") ؛ = , , تمكين) ؛ /* إرجاع صحيح لتحديث عناصر واجهة المستخدم ، خطأ يعود . ] ثابتة obs_properties_t * obs_properties_t () ؛ obs_property_t * ((PPTS, "SETPH_A", obs_property_set_modified_callbackص, ) ؛ obs_properties_add_text((PPTS, , obs_module_text(("settb", obs_text_default ؛
التوطين
عادةً ما تستخدم معظم الإضافات المغطاة بـ OBS Studio طريقة توطين بسيطة للملفات ، حيث يكون كل ملف لغة مختلفة. عند استخدام هذه الطريقة ، يتم استخدام الماكرو obs_module_use_default_locale () والذي سيقوم تلقائيًا بتحميل/تدمير البيانات المحلية دون أي جهد إضافي على جزء من المكون الإضافي. ثم وظيفة obs_module_text () (والتي يتم الإعلان عنها تلقائيًا على أنها خارجي بواسطة libobs/obs module..
هناك نوعان من الصادرين الوحدة النمطية المستخدمة لتحميل/تدمير اللغة: تصدير Obs_module_set_locale () ، وتصدير Obs_Module_Free_Locale (). يتم استدعاء تصدير OBS_MODULE_SET_LOCALE () بواسطة libobs لتعيين اللغة الحالية ، ثم يتم استدعاء تصدير OBS_MODULE_FREE_LOCALE. .
.
. .
يتم توفير بعض الإضافات أيضًا لمستخدمي Linux عبر Flathub.
.
- ..
- البرنامج المساعد غير متوفر لنفس الهندسة المعمارية (أنا..
.0 ، راجع قائمة توافق المكون الإضافي لـ OBS Studio 28.
. بشكل عام ، يقومون بتثبيت الإضافات على المواقع المذكورة أدناه.
. يرجى التحقق من وثائق البرنامج المساعد أولاً.
شبابيك
شبابيك
.2.
C: \ Program Files \ Obs-Studio \ Obs-Plugins \ 32bit
٪ appdata ٪ \ obs-studio \ obs-plugins
ماكوس
Linux
.
Linux
إذا قمت بتثبيت OBS Studio على موقع مخصص أو استخدام وضع محمول ، فستحتاج إلى تغيير المجلد المستهدف للمثبت إلى موقعك المخصص مجلد.
جدول المحتويات
0 Comments
الإضافات – OBS Studio 29..
المكونات الإضافية
تتم إضافة جميع الوظائف المخصصة تقريبًا من خلال وحدات البرنامج المساعد ، والتي عادة ما تكون مكتبات أو نصوص ديناميكية. القدرة على التقاط و/أو إخراج الصوت/الفيديو ، وإجراء تسجيل ، والإخراج إلى دفق RTMP ، والتشفير في x264 هي أمثلة على الأشياء التي يتم إنجازها عبر وحدات البرنامج المساعد.
يمكن للمكونات الإضافية تنفيذ المصادر والمخرجات والمشفرات والخدمات.
كتابة المكون الإضافي الخاص بك? نحن نقدم مكونًا إضافيًا قالبًا أساسيًا لتبدأ.
رؤوس وحدة البرنامج المساعد
.
. .C حيث يتم تهيئة البرنامج المساعد ، المصدر الخاص بي…
هذا مثال على بنية الدليل الشائعة لوحدة البرنامج المساعد الأصلي:
.ملف txt مرتبط بهذه الملفات:
. . في وظيفة OBS_MODULE_LOAD () ، يمكنك تسجيل أي من مصادرك المخصصة أو المخرجات أو التشفير أو الخدمات المخصصة. .
.C ، والتي من شأنها تسجيل كائن واحد من كل نوع:
. أشياء مثل التقاط العروض/الألعاب/الصوت ، أو تشغيل مقطع فيديو ، أو عرض صورة ، أو تشغيل الصوت. . libobs/obs-source.. .
على سبيل المثال ، لتنفيذ كائن مصدر ، تحتاج إلى تحديد بنية OBS_SOURCE_INFO وملئها بالمعلومات وعمليات الاتصال المتعلقة بمصدرك:
.C ، يمكنك الاتصال obs_register_source () في OBS_MODULE_LOAD () لتسجيل المصدر مع libobs.
. . يمكن أن تتلقى المخرجات البيانات الأولية أو تلقي البيانات المشفرة. .ملف H هو الرأس المخصص لتنفيذ المخرجات. انظر مرجع API الإخراج (OBS_OUTPUT_T) لمزيد من المعلومات.
.C ، يمكنك الاتصال obs_register_output () في obs_module_load () لتسجيل الإخراج باستخدام libobs.
بعض الأمثلة على المخرجات:
. . libobs/obs-encoder.ملف H هو الرأس المخصص لتنفيذ عمليات التشفير. انظر مرجع API للتشفير (OBS_ENCODER_T) لمزيد من المعلومات.
على سبيل المثال ، لتنفيذ كائن تشفير ، تحتاج إلى تحديد بنية OBS_ENCODER_INFO وملئها بالمعلومات وكرات العاتق المتعلقة بالتشفير الخاص بك:
..
تحتوي إعدادات التشفير حاليًا على عدد قليل من قيم الإعداد الشائعة المتوقعة التي يجب أن تحتوي على اتفاقية تسمية محددة:
. . libobs/obs-service.. .
(ملاحظة المؤلف: واجهة برمجة تطبيقات الخدمة غير مكتملة حتى كتابة هذه السطور)
على سبيل المثال ، لتنفيذ كائن خدمة ، تحتاج إلى تحديد بنية Obs_service_info وملء المعلومات والاسترداد المتعلقة بخدمتك:
ثم ، في my-plugin.C ، يمكنك الاتصال بـ obs_register_service () في obs_module_load () لتسجيل الخدمة مع libobs.
كائنين الخدمتين الوحيدتين هما كائنات “خدمات RTMP الشائعة” و “خدمة RTMP المخصصة” في المكونات الإضافية/RTMP-Services
الإعدادات
.ح) يتم استخدامها للحصول على أو تعيين إعدادات البيانات المرتبطة عادة بكائنات libobs ، ويمكن بعد ذلك حفظها وتحميلها عبر نص JSON. راجع مرجع إعدادات إعدادات البيانات (obs_data_t) لمزيد من المعلومات.
ال obs_data_t .
لإنشاء obs_data_t obs_data_array_t . obs_data_t و obs_data_array_t . في أي وقت أو obs_data_array_t .
كائن ، ستستخدم إحدى الوظائف التالية:
وبالمثل ، للحصول على قيمة من
يمكن للكائن أيضًا تعيين القيم الافتراضية. هذا يسمح بالقدرة على التحكم في ما يتم إرجاعه إذا لم تكن هناك قيمة مخصصة لسلسلة محددة في . كل كائن libobs لديه أيضا ملف get_defaults رد الاتصال الذي يسمح بإعداد الإعدادات الافتراضية للكائن عند الإنشاء.
الخصائص (انظر libobs/obs-properties.. كل كائن libobs لديه ملف . تحدد API Properties خصائص محددة مرتبطة بإعدادات الكائن ، ويستخدم الواجهة الأمامية تلك الخصائص لإنشاء عنصر واجهة مستخدم للسماح للمستخدم بتعديل الإعدادات. على سبيل المثال ، إذا كان لديك إعداد منطقي ، فستستخدم OBS_Properties_add_bool () للسماح للمستخدم أن يتمكن من تغيير هذا الإعداد. راجع مرجع API للخصائص (OBS_Properties_T) لمزيد من المعلومات.
مثال على هذا:
المعلمة هي بيانات الكائن إذا كان الكائن موجودًا. عادةً ما يكون هذا غير مستخدم وربما لا ينبغي استخدامه إذا أمكن. .
يمكن أيضًا تعديل الخصائص اعتمادًا على الإعدادات التي يتم عرضها. وض.
التوطين
عادةً ما تستخدم معظم الإضافات المغطاة بـ OBS Studio طريقة توطين بسيطة للملفات ، حيث يكون كل ملف لغة مختلفة. عند استخدام هذه الطريقة ، يتم استخدام الماكرو obs_module_use_default_locale () والذي سيقوم تلقائيًا بتحميل/تدمير البيانات المحلية دون أي جهد إضافي على جزء من المكون الإضافي. ثم وظيفة obs_module_text () (والتي يتم الإعلان عنها تلقائيًا على أنها خارجي بواسطة libobs/obs module..
هناك نوعان من الصادرين الوحدة النمطية المستخدمة لتحميل/تدمير اللغة: تصدير Obs_module_set_locale () ، وتصدير Obs_Module_Free_Locale (). يتم استدعاء تصدير OBS_MODULE_SET_LOCALE () بواسطة libobs لتعيين اللغة الحالية ، ثم يتم استدعاء تصدير OBS_MODULE_FREE_LOCALE. .
.
. .
يتم توفير بعض الإضافات أيضًا لمستخدمي Linux عبر Flathub.
.
.0 ، راجع قائمة توافق المكون الإضافي لـ OBS Studio 28.
. بشكل عام ، يقومون بتثبيت الإضافات على المواقع المذكورة أدناه.
. يرجى التحقق من وثائق البرنامج المساعد أولاً.
شبابيك
شبابيك
.2.
C: \ Program Files \ Obs-Studio \ Obs-Plugins \ 32bit
٪ appdata ٪ \ obs-studio \ obs-plugins
ماكوس
Linux
.
Linux
إذا قمت بتثبيت OBS Studio على موقع مخصص أو استخدام وضع محمول ، فستحتاج إلى تغيير المجلد المستهدف للمثبت إلى موقعك المخصص مجلد.
جدول المحتويات