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?