API संदर्भ
Video Inference API का उपयोग Roboflow Python SDK और एक REST API के जरिए किया जा सकता है।
Base URL
API निम्नलिखित URL का उपयोग करता है:
https://api.roboflow.comAPI Methods
हम दृढ़ता से सुझाते हैं कि video inference तक roboflow Pip पैकेज के माध्यम से पहुँचा जाए।
कच्चा Video Inference API at https://api.roboflow.com के तीन तरीके हैं:
POST /video_upload_signed_url/?api_key={{WORKSPACE_API_KEY}}
यह endpoint एक signed URL लौटाता है जहाँ उपयोगकर्ता वीडियो अपलोड कर सकता है। यह endpoint filename के साथ एक JSON इनपुट स्वीकार करता है, इस प्रकार
{
"file_name": "my_video_file.mp4"
}एक signed 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) का उपयोग करके अपने वीडियो फ़ाइल को 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 प्रोसेसिंग के लिए एक वीडियो inference जॉब शेड्यूल करने के लिए json इनपुट स्वीकार करता है। ध्यान दें कि INPUT_URL कोई भी सार्वजनिक रूप से उपलब्ध URL हो सकता है, आपको पहले signed URL बनाने और फिर Roboflow पर वीडियो अपलोड करने की आवश्यकता नहीं है।
निम्न में अनुरोध के 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 वैकल्पिक है।
प्रतिक्रिया एक JSON स्ट्रिंग है, इस प्रकार
{
"job_id": "fec28362-f7d9-4cc0-a805-5e94495d063d",
"message": "This endpoint will create videojob"
}
आप multiple models को निर्दिष्ट कर सकते हैं models array. infer_fps field कम से कम इस पर सेट होना चाहिए 1 और इसका मान वीडियो फ्रेम-रेट से अधिक नहीं होना चाहिए। अधिकांश उपयोग मामलों के लिए, वीडियो फ्रेम रेट, का एक सटीक गुणज होता है। infer_fps .
GET /videoinfer/?api_key={{WORKSPACE_API_KEY}}&job_id={{JOB_ID}}
यह endpoint जॉब की वर्तमान स्थिति लौटाता है। यह endpoint rate-limited है, कृपया इस endpoint को प्रति मिनट एक से अधिक बार polling न करें।
जब जॉब सफल होता है, लौटाए गए JSON की status कुंजी 0 पर सेट होती है, और output_signed_url कुंजी वीडियो inference परिणामों के डाउनलोड लिंक को रखती है।
यदि status 1 पर सेट है, तो यह दर्शाता है कि जॉब प्रोसेसिंग पूरा नहीं हुआ है। कोई भी उच्च मान जॉब विफलता दर्शाता है।
एक बार जब आप द्वारा संग्रहीत JSON फ़ाइल डाउनलोड कर लेते हैं जो output_signed_url location यहाँ वर्णित है.
Last updated
Was this helpful?