API संदर्भ

Video Inference API को Roboflow Python SDK और REST API के माध्यम से उपयोग किया जा सकता है।

बेस URL

API निम्नलिखित URL का उपयोग करता है:

https://api.roboflow.com

API विधियाँ

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

विधि
विवरण

POST /video_upload_signed_url/?api_key={{WORKSPACE_API_KEY}}

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

{
    "file_name": "my_video_file.mp4"
}

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

{
    "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) का उपयोग करके अपने वीडियो फ़ाइल को साइन किए गए URL पर PUT कर सकते हैं।

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

POST /videoinfer/?api_key={{WORKSPACE_API_KEY}}

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

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

{
    "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": "यह एंडपॉइंट videojob बनाएगा"
}

आप एक साथ कई मॉडल निर्दिष्ट कर सकते हैं models array में। 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?