প্রকল্প সম্পর্কে

op-cap হলো OBS-এর সাথে ব্যবহৃত উচ্চ-থ্রুপুট USB ক্যাপচার কার্ড স্থিতিশীল করার একটি Linux টুলকিট। এটি সস্তা HDMI ক্যাপচার ডিভাইসের সাধারণ ব্যর্থতার ধরনগুলো মোকাবেলা করে: এলোমেলো সংযোগ বিচ্ছিন্ন হওয়া, ড্রাইভার হ্যাং, বাফার নষ্ট হওয়া এবং OBS ক্র্যাশ। মূল পদ্ধতি: FFmpeg ফিজিক্যাল ক্যাপচার ডিভাইস পড়ে এবং একটি v4l2loopback ভার্চুয়াল ডিভাইসে লেখে (ডিফল্ট /dev/video10, লেবেল USB_Capture_Loop)। এরপর OBS হার্ডওয়্যারের বদলে সেই স্থিতিশীল লুপব্যাক থেকে পড়ে, তাই হার্ডওয়্যার হ্যাং হলে কেবল FFmpeg ফিড বন্ধ হয়, যা একটি মনিটর সার্ভিস স্বয়ংক্রিয়ভাবে পুনরায় চালু করে। README-তে বর্ণিত বৈশিষ্ট্য: - স্বয়ংক্রিয় ক্র্যাশ রিকভারি: USB ডিভাইস ব্যর্থ হলে OBS পুনরায় চালু হয়, ডিফল্টভাবে সীমাহীন। - স্ট্রিম পুনরায় শুরু: সক্রিয় স্ট্রিম শনাক্ত করতে লগ মনিটর করা হয় এবং ক্র্যাশের পর তা পুনরায় চালু করা হয়। - স্বয়ংক্রিয় পুনঃসংযোগ: ডিভাইস নজরদারি করা হয় এবং সংযোগ বিচ্ছিন্ন হলে ফিড পুনরায় চালু হয়। - রিবুট ছাড়াই হ্যাং হওয়া ডিভাইস পুনরুদ্ধারে USB রিসেট এবং ড্রাইভার রিবাইন্ড। - পারফরম্যান্স টিউনিং: USB অটোসাসপেন্ড নিষ্ক্রিয় করা এবং পাওয়ার সেটিংস সমন্বয়, স্থায়িত্বের জন্য udev নিয়মের নির্দেশনা সহ। - HDR হ্যান্ডলিং মোড (auto, force HDR + tonemap, HDR passthrough, force SDR)। - URL বা ফাইল থেকে ঐচ্ছিক ওভারলে/ওয়াটারমার্ক, সাথে স্ক্রিনে থাকা লোগো মুছতে delogo এবং crop ফিল্টার। - ইনস্টলেশনের সময় রেজোলিউশন ও ফ্রেমরেটের ফরম্যাট স্বয়ংক্রিয় শনাক্তকরণ। - Nvidia, AMD ও Intel ড্রাইভারের জন্য Wayland গ্রাফিক্স অপ্টিমাইজেশন, যা 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/-এর অধীনে লগ ক্যাপচার, এবং লুপব্যাক, ডিভাইস, অটো-রিজিউম ও অতিরিক্ত OBS আর্গুমেন্টের জন্য ফ্ল্যাগ যোগ করে। USB হার্ডওয়্যার পুনরুদ্ধারের জন্য sudo প্রয়োজন; একটি ঐচ্ছিক sudoers ইনস্টলার সীমাবদ্ধ করে কোন রিকভারি স্ক্রিপ্টগুলো পাসওয়ার্ড ছাড়া চলতে পারবে। প্রয়োজনীয়তার মধ্যে রয়েছে ffmpeg, v4l-utils এবং v4l2loopback-dkms, সাথে ঐচ্ছিক uhubctl ও slop, এবং হার্ডওয়্যার অ্যাক্সিলারেশনের জন্য GPU-নির্দিষ্ট ড্রাইভার।