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

Workflows के साथ वीडियो प्रोसेसिंग

Inference SDK WebRTC क्लाइंट के साथ webcam, camera feed और video फ़ाइलों को Workflow के माध्यम से stream करें।

वर्कफ़्लो के माध्यम से वीडियो स्ट्रीम करने के लिए Inference SDK WebRTC क्लाइंट का उपयोग करें। वही क्लाइंट self-hosted Inference Server और Serverless Video Streaming API के साथ काम करता है।

WebRTC तब तक एक सत्र खुला रखता है जब Workflow फ़्रेमों को प्रोसेस करता है। इससे trackers, counters, और buffers जैसे stateful blocks को समर्थन मिलता है। यह हर फ़्रेम को अलग HTTP अनुरोध के रूप में भेजने से भी बचाता है।

एक रनटाइम चुनें

रनटाइम
API URL
इसे तब उपयोग करें जब

Self-hosted Inference Server

http://localhost:9001

आप चाहते हैं कि वीडियो आपके हार्डवेयर या नेटवर्क पर ही रहे।

Serverless Video Streaming API

https://serverless.roboflow.com

आप चाहते हैं कि compute को Roboflow प्रबंधित करे।

Self-hosting के लिए, शुरू करें इन्फ़रेंस सर्वर क्लाइंट चलाने से पहले। hosted limits, regions, और GPU plans के लिए, देखें Serverless Video Streaming.

SDK इंस्टॉल करें

pip install "inference-sdk[webrtc]"

एक Workflow स्ट्रीम करें

यह उदाहरण वेबकैम से वीडियो कैप्चर करता है और predictions किसी सहेजे गए Workflow से आउटपुट प्रिंट करता है:

from inference_sdk import InferenceHTTPClient
from inference_sdk.webrtc import StreamConfig, WebcamSource

client = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY",
)

session = client.webrtc.stream(
    source=WebcamSource(),
    workflow="workflow-id",
    workspace="workspace-name",
    config=StreamConfig(data_output=["predictions"]),
)

@session.on_data("predictions")
def handle_predictions(predictions, metadata):
    print(f"Frame {metadata.frame_id}: {predictions}")

session.run()

बदलें workflow-id, workspace-name, और ROBOFLOW_API_KEY अपनी मानों से। Serverless पर चलाने के लिए, बदलें api_url को https://serverless.roboflow.com.

में नाम data_output को आपके Workflow द्वारा परिभाषित आउटपुट से मेल खाना चाहिए। किसी image output को video के रूप में प्राप्त करने के लिए, इसे stream_output में जोड़ें और एक on_frame हैंडलर पंजीकृत करें। देखें WebRTC Streaming संदर्भ एक पूर्ण उदाहरण के लिए।

एक वीडियो स्रोत चुनें

बदलें स्रोत को भेजा गया client.webrtc.stream() इस आधार पर कि वीडियो कहाँ से आता है:

स्रोत
इसे तब उपयोग करें जब

WebcamSource()

कैमरा client मशीन से जुड़ा है।

RTSPSource("rtsp://...")

Inference Server RTSP कैमरा तक पहुँच सकता है।

LocalStreamSource("rtsp://...")

केवल client ही RTSP या RTMP stream तक पहुँच सकता है।

VideoFileSource("video.mp4")

आप एक संग्रहीत video file को प्रोसेस करना चाहते हैं।

ManualSource()

आपका application अलग-अलग frames प्रदान करता है।

जब आप उपयोग करते हैं RTSPSource को Serverless के साथ, camera URL सार्वजनिक internet से पहुँच योग्य होना चाहिए। उपयोग करें LocalStreamSource जब camera केवल client के network पर उपलब्ध हो।

देखें WebRTC video sources source configuration और results का उपभोग callbacks, iterators, और session cleanup के लिए।

एक मॉडल स्ट्रीम करें

जब आपको केवल एक model चाहिए, तब Workflow बनाने की आवश्यकता नहीं है। पास करें model_id के बजाय वर्कफ़्लो और workspace:

देखें एक मॉडल स्ट्रीम करें prediction handling को task type के अनुसार संभालने के लिए।

अगले चरण

अंतिम अपडेट

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