প্রকল্প সম্পর্কে
pip install -U streamlit-webrtc দিয়ে ইনস্টল করুন। একটি বেসিক অ্যাপ webrtc_streamer(key="sample") কল করে, যেখানে key একটি প্রয়োজনীয় অনন্য শনাক্তকারী। ব্যবহারকারীরা START চাপেন এবং ক্যামেরা বা মাইক্রোফোন অনুমতি দেন একটি সেশন শুরু করতে।
প্রধান প্রসেসিং API video_frame_callback এবং audio_frame_callback ব্যবহার করে। কলব্যাকগুলি PyAV av.VideoFrame বা av.AudioFrame অবজেক্ট গ্রহণ করে এবং একই ফ্রেম টাইপ ফেরত দিতে হবে। ফ্রেমগুলি NumPy অ্যারেতে রূপান্তরিত করা যায়, OpenCV-এর মতো লাইব্রেরি দিয়ে প্রসেস করা যায় এবং পুনরায় রূপান্তরিত করা যায়। UI মানগুলি ক্লোজারের মাধ্যমে কলব্যাকে পাস করা যায়, যখন কলব্যাকের ভিতরে উৎপাদিত ডেটা সাবধানে শেয়ার করতে হবে কারণ কলব্যাকগুলি ফর্কড থ্রেডে এক্সিকিউট হয়। ডকুমেন্টেশন থ্রেড-নিরাপদ কন্টেইনার যেমন লক বা কিউ, এবং প্রধান Streamlit স্ক্রিপ্টে একটি পোলিং লুপ সুপারিশ করে। Streamlit st.* কলগুলি কলব্যাকের ভিতরে কাজ করে না, এবং শেয়ার করা স্টেট সিঙ্ক্রোনাইজ করতে হবে।
কম্পোনেন্টটি ক্যামেরা এবং মাইক্রোফোন টগল কন্ট্রোল দেখাতে পারে যা WebRTC বন্ধ বা পুনরায় আলোচনা না করে ট্র্যাক অক্ষম করে; অক্ষম ভিডিও কালো ফ্রেম পাঠায় এবং অক্ষম অডিও নীরবতা পাঠায়। on_video_ended এবং on_audio_ended ট্র্যাক বন্ধ হলে, পৃষ্ঠা বন্ধ হলে বা সংযোগ বিচ্ছিন্ন হলে ক্লিনআপ হুক সরবরাহ করে। সোর্স এবং সিঙ্ক ট্র্যাকের জন্য ফ্যাক্টরি হেল্পারগুলি st.session_state-এ অবজেক্ট ক্যাশ করে এবং WebRTC-সেশন বা Streamlit-সেশন লাইফসাইকেল স্কোপ সমর্থন করে। ফাংশন-ভিত্তিক কলব্যাকগুলি প্রস্তাবিত API, যখন পুরানো ক্লাস-ভিত্তিক প্রসেসরগুলি এখনও সমর্থিত কিন্তু ভবিষ্যতের একটি বড় রিলিজে অপসারণের পরিকল্পনা করা হয়েছে।
দূরবর্তী ডিপ্লয়মেন্টের জন্য, ব্রাউজার মিডিয়া অ্যাক্সেসের জন্য localhost ছাড়া HTTPS প্রয়োজন। WebRTC সংযোগের জন্য rtc_configuration-এর মাধ্যমে STUN কনফিগারেশন প্রয়োজন, এবং সীমাবদ্ধ নেটওয়ার্ক বা প্রক্সির পিছনে TURN প্রয়োজন হতে পারে। README-তে Cloudflare Realtime TURN, Twilio, Open Relay এবং সেলফ-হোস্টেড TURN অপশন ডকুমেন্ট করা হয়েছে, এবং HTTPS বা টানেলযুক্ত ডেভেলপমেন্টের জন্য streamlit-remote উল্লেখ করা হয়েছে। লগিং পাইথনের স্ট্যান্ডার্ড logging মডিউল ব্যবহার করে। প্রকল্প উদাহরণগুলি অবজেক্ট ডিটেকশন, OpenCV ফিল্টার, অডিও প্রসেসিং, ইউনিডাইরেকশনাল ভিডিও, রিয়েল-টাইম স্পিচ-টু-টেক্সট, স্টাইল ট্রান্সফার, MediaPipe পোজ এস্টিমেশন এবং ভিডিও চ্যাট কভার করে। API v1.0-এর আগে চূড়ান্ত নয় বলে বর্ণনা করা হয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.