Roboflow视频推理API使用指南

Roboflow提供了一个强大的视频推理API,通过这个API,用户可以上传视频文件,调度推理任务,并查询任务状态。以下是API的详细使用方法。

视频上传

首先,需要通过POST请求上传视频文件。使用以下URL:

https://api.roboflow.com/video_upload_signed_url/?api_key={{WORKSPACE_API_KEY}}

在请求体中,需要提供视频文件的名称,格式如下:

{ "file_name": "my_video_file.mp4" }

成功上传后,将获得一个签名的URL,用于上传视频文件。可以使用任何支持POST请求的工具(如curl)将视频文件上传到该URL。

推理任务调度

接下来,可以通过POST请求调度一个视频推理任务。使用以下URL:

https://api.roboflow.com/videoinfer/?api_key={{WORKSPACE_API_KEY}}

在请求体中,需要提供输入视频的URL、推理帧率以及要使用的模型信息。例如:

{ "input_url": "{{INPUT_URL}}", "infer_fps": 5, "models": [ { "model_id": "rock-paper-scissors-presentation", "model_version": "4", "inference_type": "object-detection" } ] }

推理帧率(infer_fps)应至少设置为1,且不应超过视频帧率。对于大多数用例,视频帧率是推理帧率的整数倍。可以在models数组中指定多个模型。

成功调度任务后,将收到一个JSON字符串作为响应,其中包含任务ID(job_id)和消息(message)。例如:

{ "job_id": "fec28362-f7d9-4cc0-a805-5e94495d063d", "message": "This endpoint will create videojob" }

查询任务状态

最后,可以通过GET请求查询推理任务的当前状态。使用以下URL:

https://api.roboflow.com/videoinfer/?api_key={{WORKSPACE_API_KEY}}&job_id={{JOB_ID}}

请注意,此端点有速率限制,请不要每分钟查询超过一次。

当任务成功时,返回的JSON中的status键将设置为0,output_signed_url键将包含视频推理结果的下载链接。如果status设置为1,则表示任务处理尚未完成。任何更高的值表示任务失败。

一旦从output_signed_url位置下载了JSON文件,就可以解析它以获取推理信息。JSON文件的格式在这里有详细描述。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485