API Reference

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

Base URL

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

https://api.roboflow.com

API Methods

हम वीडियो inference को roboflow Pip package के माध्यम से एक्सेस करने की अत्यधिक अनुशंसा करते हैं। raw Video Inference API at https://api.roboflow.com के तीन methods हैं:

METHOD
DESCRIPTION

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

यह endpoint एक signed URL लौटाता है, जहाँ उपयोगकर्ता वीडियो अपलोड कर सकता है। यह endpoint filename के साथ एक JSON input स्वीकार करता है, जैसे कि

{
    "file_name": "my_video_file.mp4"
}

एक signed URL लौटाई जाती है

{
    "signed_url": "URL"
}

फिर आप अपने पसंदीदा upload program (जैसे cURL) का उपयोग करके अपने video file को signed 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}}

यह endpoint processing के लिए video inference job schedule करने हेतु एक json input स्वीकार करता है। ध्यान दें कि INPUT_URL कोई भी publicly available URL हो सकता है; आपको पहले signed URL बनाने और फिर Roboflow पर video upload करने की आवश्यकता नहीं है।

request के body को दिखाने वाला एक उदाहरण नीचे दिया गया है:

{
    "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 वैकल्पिक है।

response एक JSON string है, जैसे कि

{
    "job_id": "fec28362-f7d9-4cc0-a805-5e94495d063d",
    "message": "यह endpoint videojob बनाएगा"
}

आप models array में multiple models निर्दिष्ट कर सकते हैं। infer_fps field कम से कम 1 पर सेट होना चाहिए और इसका मान video frame-rate से अधिक नहीं होना चाहिए। अधिकांश use-cases के लिए, video frame rate infer_fps .

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

यह endpoint job की वर्तमान स्थिति लौटाता है। यह endpoint rate-limited है, कृपया इस endpoint को प्रति मिनट एक बार से अधिक poll न करें। जब job सफल हो जाती है, तब returned JSON की status key 0 पर सेट होती है, और output_signed_url key में video inference results के लिए download link होता है। यदि status को 1 पर सेट किया जाता है, तो यह संकेत देता है कि job processing अभी पूरी नहीं हुई है। इससे बड़े किसी भी मान का अर्थ job failure है।

एक बार जब आपने output_signed_url location से stored JSON file डाउनलोड कर ली है, तो आप inference जानकारी प्राप्त करने के लिए इसे parse कर सकते हैं। json file का format है यहाँ वर्णित.

अंतिम अपडेट

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