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

pi-webrtc হল একটি ওপেন-সোর্স প্রকল্প (Apache-2.0) যা Raspberry Pi এবং NVIDIA Jetson ডিভাইসের জন্য WebRTC ক্যামেরা স্ট্রিমিং এবং রিমোট কন্ট্রোল একটি একক বাইনারিতে প্যাকেজ করে। এটি C++20-এ লেখা এবং libwebrtc (m147.7727) এর বিরুদ্ধে নির্মিত। এটি যা করে - Raspberry Pi বা Jetson থেকে একটি ক্যামেরা WebRTC-এর মাধ্যমে ব্রাউজারে স্ট্রিম করে, প্রকল্পটি LAN-এ 100ms-এর কম লেটেন্সি দাবি করে। - WebRTC DataChannels-এর মাধ্যমে ডিভাইসে কন্ট্রোল মেসেজ এবং টেলিমেট্রি বহন করে। - পাবলিক IP ছাড়াই WiFi, LTE, বা 5G-তে দূরবর্তীভাবে কাজ করে, NAT ট্রাভার্সাল এবং কনজেশন কন্ট্রোল ব্যবহার করে। - সমর্থিত ডিভাইসে হার্ডওয়্যার-অ্যাক্সিলারেটেড H.264/AV1 এনকোডিং সমর্থন করে, অসমর্থিত হলে স্বয়ংক্রিয়ভাবে সফটওয়্যার এনকোডিংয়ে ফিরে যায়। সিগন্যালিং বিকল্প তিনটি সিগন্যালিং মোড নথিভুক্ত, এবং একাধিক একসাথে সক্রিয় করা যেতে পারে: - MQTT: ডিভাইস কন্ট্রোল সহ পিয়ার-টু-পিয়ার, দূরবর্তী অ্যাক্সেসের জন্য উপযুক্ত। - WHEP: যেকোনো স্ট্যান্ডার্ড WebRTC প্লেয়ারের সাথে প্লেব্যাক। - SFU: LiveKit বা Cloudflare Realtime-এর মাধ্যমে একসাথে একাধিক দর্শক। হার্ডওয়্যার সমর্থন - Raspberry Pi: libcamera ব্যাকএন্ড, সমর্থিত মডেলে H.264 হার্ডওয়্যার এনকোডিং। - NVIDIA Jetson: libargus ব্যাকএন্ড, সমর্থিত মডেলে H.264/AV1 হার্ডওয়্যার এনকোডিং। - উভয় প্ল্যাটফর্মে V4L2-এর মাধ্যমে USB ক্যামেরা। দ্রুত শুরু Raspberry Pi OS Trixie (64-বিট)-এ, নির্ভরতা ইনস্টল করুন (libmosquitto1, pulseaudio, libavformat61, libswscale8, libyaml-cpp0.8), সর্বশেষ রিলিজ টারবল ডাউনলোড করুন এবং বাইনারি চালান। একটি ক্যামেরা এবং UID দিয়ে একটি স্থানীয় WHEP পরীক্ষা শুরু করা যেতে পারে, তারপর ডিভাইসের WHEP URL প্রবেশ করে একটি ওয়েব প্লেয়ারের মাধ্যমে দেখা যায়। দূরবর্তী পিয়ার-টু-পিয়ার ব্যবহারের জন্য, বাইনারি MQTT হোস্ট, পোর্ট, ব্যবহারকারীর নাম, পাসওয়ার্ড, UID, রেজোলিউশন, FPS এবং হার্ডওয়্যার-অ্যাক্সিলারেশন ফ্ল্যাগ গ্রহণ করে; একটি বিনামূল্যের HiveMQ Cloud ইনস্ট্যান্স বা একটি সেলফ-হোস্টেড ব্রোকার ব্যবহার করা যেতে পারে। ডকুমেন্টেশন এবং লাইসেন্সিং সম্পূর্ণ ডকুমেন্টেশন রিপোজিটরি থেকে লিঙ্ক করা হয়েছে, সিগন্যালিং এবং দ্রুত শুরুর জন্য আলাদা ডক্স সহ। প্রকল্পটি Apache-2.0-এর অধীনে লাইসেন্সপ্রাপ্ত এবং NOTICE-এ তৃতীয়-পক্ষের নোটিশ রয়েছে। README-তে একটি স্পনসরশিপ প্রোগ্রামের কথাও উল্লেখ করা হয়েছে যা অতিরিক্ত রিলিজ, বৈশিষ্ট্য এবং ডকুমেন্টেশনে অ্যাক্সেস প্রদান করে।