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

VLX FrameFlow হলো একটি মডুলার Go স্যুট, যা Debian-ভিত্তিক Single Board Computer (SBC) এবং VPS ইনস্ট্যান্সকে পেশাদার-মানের লাইভ ব্রডকাস্টিং হার্ডওয়্যারে রূপান্তর করার জন্য ডিজাইন করা হয়েছে। এটি বৃহত্তর VLX Stream Flow ইকোসিস্টেমের মধ্যে Edge Acquisition & Transport স্তর হিসেবে কাজ করে, যেখানে কম্পোজিশনের জন্য VisionBridge এবং নিয়ন্ত্রণের জন্য ChatBridge-ও অন্তর্ভুক্ত। প্রধান সক্ষমতাগুলোর মধ্যে রয়েছে: 1. **হাই-অ্যাভেইলেবিলিটি বন্ডিং রাউটার**: ডুয়াল-প্রোটোকল বন্ডিং ব্যবহার করে একাধিক ইন্টারনেট সংযোগ একত্রিত করে। UDP ট্রাফিক (যেমন SRT ভিডিও স্ট্রিম) MLVPN-এর মাধ্যমে একত্রিত হয়, আর TCP ট্রাফিক (টেলিমেট্রি, API, সাধারণ ইন্টারনেট) MPTCP-এর সঙ্গে Shadowsocks স্বচ্ছ প্রক্সি হিসেবে ব্যবহার করে। এতে একটি সংযোগ ব্যর্থ হলেও আপলিংক স্থিতিশীল থাকে। 2. **মাল্টি-ক্যামেরা স্ট্রিমিং এনকোডার**: সংযুক্ত ক্যামেরা থেকে ভিডিও ও অডিও ক্যাপচার করতে V4L2 এবং FFmpeg ব্যবহার করে এবং সেগুলোকে SRT স্ট্রিমে এনকোড করে। এই স্ট্রিমগুলো বন্ডেড টানেলের মাধ্যমে একটি রিলে সার্ভারে (MediaMTX) পাঠানো হয়, যা জিরো-ড্রপ ফলব্যাক এবং উচ্চ-মানের ট্রান্সমিশন সক্ষম করে। 3. **রিয়েল-টাইম GPS টেলিমেট্রি**: USB/সিরিয়াল GPS হার্ডওয়্যার স্বয়ংক্রিয়ভাবে শনাক্ত করতে gpsd-এর সঙ্গে সংহত হয়। এটি লোকেশন ডেটা পড়ে এবং রিমোট এন্ডপয়েন্টে JSON টেলিমেট্রি POST করে, যা রিয়েল-টাইম ট্র্যাকিং এবং ChatBridge-এর মতো অন্যান্য ইকোসিস্টেম কম্পোনেন্টের সঙ্গে ইন্টিগ্রেশন সম্ভব করে। 4. **সার্ভার রিলে ও কন্ট্রোল**: সার্ভার কম্পোনেন্ট একটি VPS-এ চলে, যা রিলে নোড এবং ফায়ারওয়াল ম্যানেজার হিসেবে কাজ করে। এটি কম্প্যানিয়ন অ্যাপ (যেমন ChatBridge) থেকে আসা কমান্ড MLVPN টানেলের মাধ্যমে নিরাপদে SBC ক্লায়েন্টে ফরওয়ার্ড করে। এটি ইনজেস্ট ও এগ্রেসের জন্য স্থানীয় MediaMTX সার্ভিসও পরিচালনা করে। 5. **রিমোট ম্যানেজমেন্ট UI**: ওয়েব ব্রাউজারের মাধ্যমে অ্যাক্সেসযোগ্য একটি হালকা, এমবেডেড Svelte single-page application (SPA) প্রদান করে। ফ্রন্টএন্ড ব্যাকএন্ড API পোল করে সিস্টেম স্ট্যাটাস, systemd স্টেট এবং রঙিন কনসোল আউটপুট প্রদর্শন করে, যা অপারেটরদের ফিল্ড ইউনিট রিমোটভাবে পরিচালনা করতে দেয়। আর্কিটেকচার ও ডিপ্লয়মেন্ট: - স্যুটটি ভূমিকাকে Client (SBC) এবং Server (VPS)-এ বিভক্ত করে। Client একটি আনপ্রিভিলেজড ইউজার হিসেবে ইউজার-স্পেস systemd-এর মাধ্যমে চলে এবং CLI মডিউলের জন্য root এক্সিকিউশন প্রত্যাখ্যান করে নিরাপত্তা নিশ্চিত করে। Server রাউটিং ও ফায়ারওয়াল নিয়ম পরিচালনার জন্য root প্রিভিলেজ প্রয়োজন। - কনফিগারেশন শেল-সোর্সড এনভায়রনমেন্ট ফাইল এবং YAML পিয়ার ডেফিনিশনের মাধ্যমে পরিচালিত হয়, যা মাল্টি-ক্লায়েন্ট সেটআপের জন্য ডিটারমিনিস্টিক স্লট মডেল সমর্থন করে। - প্রকল্পটি GNU General Public License v3.0-এর অধীনে লাইসেন্সপ্রাপ্ত।