इस प्रोजेक्ट के बारे में

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 का उल्लेख है। लॉगिंग Python के मानक logging मॉड्यूल का उपयोग करती है। प्रोजेक्ट उदाहरणों में ऑब्जेक्ट डिटेक्शन, OpenCV फिल्टर, ऑडियो प्रोसेसिंग, यूनिडायरेक्शनल वीडियो, रीयल-टाइम स्पीच-टू-टेक्स्ट, स्टाइल ट्रांसफर, MediaPipe पोज़ एस्टीमेशन और वीडियो चैट शामिल हैं। API को v1.0 से पहले अंतिम रूप नहीं दिया गया बताया गया है।