API संदर्भ

वीडियो इनफेरेंस एपीआई को रोबोफ्लो पायथन एसडीके और एक REST एपीआई के माध्यम से उपयोग किया जा सकता है।

बेस यूआरएल

एपीआई निम्नलिखित यूआरएल का उपयोग करता है:

https://api.roboflow.com

एपीआई विधियाँ

हम अत्यधिक अनुशंसा करते हैं कि आप वीडियो इनफेरेंस को roboflow Pip पैकेज के माध्यम से एक्सेस करें। रॉ वीडियो इनफेरेंस एपीआई पर https://api.roboflow.com तीन विधियाँ हैं:

विधि
विवरण

पोस्ट /video_upload_signed_url/?api_key={{WORKSPACE_API_KEY}}

यह एंडपॉइंट एक साइन किया हुआ यूआरएल लौटाता है जहाँ उपयोगकर्ता वीडियो अपलोड कर सकता है। एंडपॉइंट एक JSON इनपुट स्वीकार करता है जिसमें फाइलनाम होता है, जैसे कि

{
    "file_name": "my_video_file.mp4"
}

एक साइन किया हुआ यूआरएल लौटाया जाता है

{
    "signed_url": "https://storage.googleapis.com/roboflow_video_inference_input/GNPwawe7dxWthlZZ24r72VRTV852/oct27_video_file.mp4?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=roboflow-staging%40appspot.gserviceaccount.com%2F2023110......."
}

इसके बाद आप अपने पसंदीदा अपलोड प्रोग्राम (जैसे cURL) का उपयोग करके अपने वीडियो फाइल को साइन किए गए यूआरएल पर PUT कर सकते हैं।

curl -X PUT "my_signed_url" \
-H "Content-Type: application/octet-stream" \
--data-binary "@your_video.mp4"

पोस्ट /videoinfer/?api_key={{WORKSPACE_API_KEY}}

एंडपॉइंट एक json इनपुट स्वीकार करता है ताकि वीडियो इनफेरेंस जॉब को प्रोसेसिंग के लिए शेड्यूल किया जा सके। ध्यान दें कि INPUT_URL कोई भी सार्वजनिक रूप से उपलब्ध यूआरएल हो सकता है, आपको पहले साइन किया हुआ यूआरएल बनाने और फिर वीडियो को रोबोफ्लो पर अपलोड करने की आवश्यकता नहीं है।

निम्नलिखित में अनुरोध के बॉडी का एक उदाहरण दिखाया गया है:

{
    "input_url": "{{INPUT_URL}}",
    "infer_fps": 5,
    "models": [
        {
            "model_id": "rock-paper-scissors-presentation",
            "model_version": "4",
            "inference_type": "object-detection",
            "inference_params": {"confidence": 0.4}
        }
    ]
}

कृपया ध्यान दें कि models[*].inference_params वैकल्पिक है।

प्रतिक्रिया एक JSON स्ट्रिंग है, जैसे कि

{
    "job_id": "fec28362-f7d9-4cc0-a805-5e94495d063d",
    "message": "यह एंडपॉइंट वीडियो जॉब बनाएगा"
}

आप कई मॉडल निर्दिष्ट कर सकते हैं models एरे में। infer_fps फील्ड को कम से कम सेट किया जाना चाहिए 1 और इसका मान वीडियो फ्रेम-रेट से अधिक नहीं होना चाहिए। अधिकांश उपयोग मामलों में, वीडियो फ्रेम रेट infer_fps .

GET /videoinfer/?api_key={{WORKSPACE_API_KEY}}&job_id={{JOB_ID}}

यह एंडपॉइंट जॉब की वर्तमान स्थिति लौटाता है। यह एंडपॉइंट रेट-लिमिटेड है, कृपया इस एंडपॉइंट को एक मिनट में एक बार से अधिक न पूछें। जब जॉब सफल होता है, तो लौटाए गए JSON का status की को 0 पर सेट किया जाता है, और output_signed_url की में वीडियो इनफेरेंस परिणामों के लिए डाउनलोड लिंक होता है। यदि status 1 पर सेट है, तो इसका अर्थ है कि जॉब प्रोसेसिंग पूरी नहीं हुई है। कोई भी उच्च मान जॉब फेल होने का संकेत देता है।

एक बार जब आपने JSON फाइल डाउनलोड कर ली जो output_signed_url स्थान से संग्रहीत है, तो आप इसे पार्स करके इनफेरेंस जानकारी प्राप्त कर सकते हैं। json फाइल का प्रारूप यहाँ वर्णित है.

Last updated

Was this helpful?