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": "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로 설정되어 있으면 작업 처리가 완료되지 않았음을 의미합니다. 더 높은 값은 작업 실패를 나타냅니다.
에서 저장된 JSON 파일을 다운로드한 후, 이를 파싱하여 추론 정보를 얻을 수 있습니다. json 파일의 형식은 output_signed_url
에 설명되어 있습니다. 여기에서 설명됩니다..
Last updated
Was this helpful?