API Reference
Video Inference API は Roboflow の Python SDK と REST API の両方で利用できます。
Base URL
API は次の URL を使用します:
https://api.roboflow.comAPI メソッド
動画推論には roboflow Pip パッケージ経由でアクセスすることを強く推奨します。
生の Video Inference API は https://api.roboflow.com には3つのメソッドがあります:
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": "This endpoint will create videojob"
}
複数のモデルを models 配列に指定できます。ここで infer_fps フィールドは少なくとも 1 に設定され、その値は動画のフレームレートを超えてはいけません。ほとんどのユースケースでは、動画フレームレートは infer_fps .
GET /videoinfer/?api_key={{WORKSPACE_API_KEY}}&job_id={{JOB_ID}}
このエンドポイントはジョブの現在のステータスを返します。このエンドポイントはレート制限されています。1 分に一度以上のポーリングは行わないでください。
ジョブが成功した場合、返される JSON の status キーは 0 に設定され、 output_signed_url キーに動画推論結果のダウンロードリンクが含まれます。
もし status が 1 に設定されている場合、それはジョブ処理が完了していないことを示します。より高い値はジョブの失敗を示します。
出力が保存されている output_signed_url の場所から JSON ファイルをダウンロードしたら、解析して推論情報を取得できます。JSON ファイルの形式は に記載されています.
Last updated
Was this helpful?