عن المشروع

op-cap هي مجموعة أدوات Linux لتثبيت كروت التقاط USB عالية الإنتاجية المستخدمة مع OBS. تستهدف أنماط الفشل الشائعة لأجهزة التقاط HDMI الرخيصة: الانقطاعات العشوائية، تعليق التعريفات، تلف المخزن المؤقت وأعطال OBS. النهج الأساسي: يقرأ FFmpeg جهاز الالتقاط الفيزيائي ويكتب إلى جهاز v4l2loopback افتراضي (الافتراضي /dev/video10، المسمى USB_Capture_Loop). ثم يقرأ OBS من ذلك loopback المستقر بدلاً من العتاد، لذا فإن تعليق العتاد يقتل تغذية FFmpeg فقط، والتي تعيد خدمة المراقبة تشغيلها تلقائياً. الميزات الموصوفة في README: - استرداد تلقائي من الأعطال: يُعاد تشغيل OBS عند فشل جهاز USB، بلا حدود افتراضياً. - استئناف البث: تُراقب السجلات لاكتشاف بث نشط وإعادة تشغيله بعد عطل. - إعادة الاتصال التلقائي: يُراقب الجهاز وتُعاد التغذية عند الانقطاع. - إعادة تعيين USB وإعادة ربط التعريف لاسترداد الأجهزة المعلقة دون إعادة تشغيل. - تحسينات الأداء: تعطيل USB autosuspend وضبط إعدادات الطاقة، مع إرشادات udev rule للاستمرارية. - أوضاع معالجة HDR (auto، force HDR + tonemap، HDR passthrough، force SDR). - تراكب/علامة مائية اختيارية من URL أو ملف، بالإضافة إلى مرشحات delogo وcrop لإزالة الشعارات على الشاشة. - اكتشاف تلقائي للتنسيق للدقة ومعدل الإطارات أثناء التثبيت. - تحسين رسومات Wayland لتعريفات Nvidia وAMD وIntel، معالجة مشكلات explicit sync وPipeWire. التثبيت عبر make build / make install، والذي يختار جهاز الالتقاط تفاعلياً ويثبت خدمات systemd (usb-capture-ffmpeg.service، usb-capture-monitor.service). الأسماء المستعارة للمضيف sobs وcobs تشغل OBS مع استرداد الأعطال، إما غير مرتبط أو بعد اختيار جهاز /dev/video*. قائمة صيانة تفاعلية (scripts/maintenance.sh) تكشف تسع أدوات استرداد: detect_device، disable_overlay، hard_reset، optimise_device، pick_delogo، repair، simulate_disconnect، uhubctl_reset وusb_reset. تغطي نصوص إضافية التحقق من الالتقاط (تشخيص التلف والمهلة مع دقة احتياطية)، تحسين الجهاز، تحسين التعريف، إعادة الاتصال التلقائي، تحليل التنسيق وورقة مرجعية سريعة. توجد الإعدادات في /etc/default/usb-capture، وتغطي مسار الجهاز، الدقة، معدل الإطارات، تنسيق الإدخال، وضع HDR، URL/ملف/موضع/مقياس التراكب، مفتاح delogo، التحقق من المخزن المؤقت وعتبة التلف مع دقة احتياطية. مشغل أمان (obs-safe-launch.sh) يضيف مراقبة صحة الجهاز، إعادة تشغيل بعد العطل مع تأخير تثبيت قصير، استئناف تلقائي للبث، التقاط السجلات تحت ~/.cache/obs-safe-launch/، وأعلام لـ loopback والجهاز والاستئناف التلقائي ووسائط OBS إضافية. يحتاج استرداد عتاد USB إلى sudo؛ مثبت sudoers اختياري يحدد نصوص الاسترداد التي يجوز تشغيلها دون كلمة مرور. تشمل المتطلبات ffmpeg وv4l-utils وv4l2loopback-dkms، مع uhubctl وslop الاختياريين، بالإضافة إلى تعريفات خاصة بوحدة GPU للتسريع العتادي.