For the complete documentation index, see llms.txt. This page is also available as Markdown.

Serverless Video Streaming

WebRTC के साथ Roboflow Cloud पर models या Workflows के माध्यम से webcams, RTSP cameras, और video files stream करें।

के बारे में

Serverless Video Streaming API वेबकैम, RTSP कैमरों, या वीडियो फ़ाइलों से Roboflow Cloud तक वीडियो स्ट्रीम करने के लिए WebRTC का उपयोग करता है। आप एक मॉडल या एक वर्कफ़्लो चलाकर अपने एप्लिकेशन में प्रोसेस किए गए फ़्रेम और प्रेडिक्शन डेटा प्राप्त कर सकते हैं।

मॉडलों और Workflows दोनों के लिए Inference SDK WebRTC क्लाइंट का उपयोग करें। सेट करें api_url को https://serverless.roboflow.com. वही क्लाइंट एक self-hosted Inference Server जब आप URL बदलते हैं।

समर्थित इनपुट स्रोत:

  • वेबकैम: ब्राउज़र या डिवाइस कैमरा

  • RTSP: एक IP कैमरा या अन्य RTSP-संगत स्रोत

  • वीडियो फ़ाइल: डेटा चैनल के माध्यम से अपलोड की गई संग्रहीत वीडियो

जब Serverless सीधे किसी RTSP स्रोत से कनेक्ट होता है, तो उसका URL सार्वजनिक रूप से उपलब्ध होना चाहिए। यदि कैमरा केवल आपके स्थानीय नेटवर्क पर उपलब्ध है, तो उपयोग करें LocalStreamSource इसे क्लाइंट पर कैप्चर करने और फ़्रेम आगे भेजने के लिए।

यह कैसे काम करता है

जब आप एक स्ट्रीमिंग सत्र शुरू करते हैं, तो SDK WebRTC कनेक्शन आरंभ करने के लिए Roboflow के API को कॉल करता है। API एक serverless फ़ंक्शन बनाता है जो आपका Workflow चलाता है। एक बार कनेक्ट होने पर, डेटा दो WebRTC चैनलों से होकर प्रवाहित होता है:

वीडियो ट्रैक

वीडियो फ़्रेमों को द्विदिश रूप से स्ट्रीम करता है। आप अपने वेबकैम या वीडियो फ़ाइल से फ़्रेम भेजते हैं, और बदले में एनोटेटेड/प्रोसेस किए गए फ़्रेम प्राप्त करते हैं। वीडियो ट्रैक रीयल-टाइम डिस्प्ले के लिए अनुकूलित है: यह उपलब्ध बैंडविड्थ के आधार पर रिज़ॉल्यूशन समायोजित करता है और फ़्रेम छोड़ भी सकता है। जैसे-जैसे कनेक्शन स्थिर होता है, गुणवत्ता बढ़ती जाती है।

WebRTC congestion control के कारण, गुणवत्ता और FPS को पूर्ण क्षमता तक बढ़ने में एक मिनट तक लग सकता है, विशेष रूप से 1920×1080 जैसे उच्च रिज़ॉल्यूशन और 30 FPS पर।

डेटा चैनल

संरचित inference परिणामों को JSON संदेशों के रूप में भेजता है। इसमें predictions, coordinates, और classifications जैसे सभी Workflow आउटपुट डेटा शामिल हैं। वीडियो ट्रैक के विपरीत, Data Channel लाइव कैमरा फ़ीड के साथ बने रहने के लिए किसी भी optimization के बिना विश्वसनीय, क्रमबद्ध डिलीवरी प्रदान करता है। वीडियो फ़ाइलों को प्रोसेस करने के लिए, आप फ़ाइल को Data Channel के माध्यम से अपलोड कर सकते हैं और वीडियो को पूरी तरह प्रोसेस करने के लिए उसी तरह परिणाम प्राप्त कर सकते हैं।

आप दोनों चैनलों का एक साथ उपयोग कर सकते हैं, उदाहरण के लिए अपने एप्लिकेशन में संरचित प्रेडिक्शन डेटा को प्रोसेस करते हुए एनोटेटेड वीडियो प्रदर्शित करना।

क्षेत्र और GPU प्लान

निर्दिष्ट करें requested_region और requested_plan अपने कॉन्फ़िगरेशन में यह नियंत्रित करने के लिए कि आपकी स्ट्रीम कहाँ और कैसे प्रोसेस होती है।

क्षेत्र: us (संयुक्त राज्य), eu (यूरोप), ap (एशिया प्रशांत)

लैटेंसी कम करने के लिए अपने उपयोगकर्ताओं या वीडियो स्रोत के सबसे नज़दीकी क्षेत्र का चयन करें।

GPU प्लान:

  • webrtc-gpu-medium: अधिकांश workflows के लिए डिफ़ॉल्ट और अनुशंसित

  • webrtc-gpu-small: कम लागत। यह तब आज़माएँ जब यह पुष्टि हो जाए कि Medium आपके use case के लिए अच्छी तरह काम करता है।

  • webrtc-gpu-large: SAM3 और Rapid Models के लिए आवश्यक जो SAM3 का उपयोग करते हैं (लगभग 5 FPS की अपेक्षा करें)

समकालिकता सीमाएँ

प्रत्येक workspace डिफ़ॉल्ट रूप से 10 concurrent streams तक सीमित है।

यदि आपको इससे अधिक सीमा की आवश्यकता है, तो कृपया हमारी sales team से संपर्क करें; आपकी आवश्यकताओं के आधार पर इसे समायोजित करने में हमें खुशी होगी।

मूल्य निर्धारण

आपके चुने गए GPU प्लान के आधार पर प्रति घंटे बिल किया जाता है। बिलिंग तब शुरू होती है जब serverless फ़ंक्शन स्पॉन होता है और WebRTC कनेक्शन स्थापित हो जाता है। देखें roboflow.com/credits वर्तमान दरों के लिए।

SDKs

JavaScript

वेब ब्राउज़र और React Native एप्लिकेशन के लिए।

अपने API key को frontend code में उजागर न करें। इसे सुरक्षित रखने के लिए backend proxy endpoint का उपयोग करें।

Python

Python अनुप्रयोगों में मॉडलों और Workflows के लिए:

कॉन्फ़िगरेशन

स्ट्रीमिंग सत्र बनाते समय, एक StreamConfig ऑब्जेक्ट पास करें ताकि व्यवहार नियंत्रित हो:

  • stream_output: Video Track के माध्यम से स्ट्रीम करने के लिए Workflow आउटपुट नामों की सूची

  • data_output: Data Channel के माध्यम से भेजने के लिए Workflow आउटपुट नामों की सूची

  • requested_plan: GPU प्लान (ऊपर देखें)

  • requested_region: क्षेत्र कोड (us, euया ap)

  • realtime_processing: यदि True (डिफ़ॉल्ट), जब प्रोसेसिंग गति बनाए नहीं रख सकती, फ़्रेम छोड़ दें

  • workflow_parameters: Workflow को पास करने के लिए पैरामीटरों की डिक्शनरी

बिना कोड के परीक्षण करें

आप Roboflow वेब इंटरफ़ेस में सीधे स्ट्रीमिंग का परीक्षण कर सकते हैं:

  1. पर जाएँ app.roboflow.com

  2. "Workflows" टैब खोलें

  3. एक Workflow चुनें और "Test Workflow" पर क्लिक करें

  4. अपना स्रोत चुनें (Webcam, RTSP, या Video File) और GPU/region सेटिंग्स कॉन्फ़िगर करें

  5. "Run" पर क्लिक करें

अंतिम अपडेट

क्या यह उपयोगी था?