The most easy and convienent way to communicate with DRES is via its supported OpenAPI description (see API Overview here), which allows you to automatically generate communication classes for several programming languages. The generated classes support various methods for login, logout, result-submission, and logging. The latter is important for evaluations that are performed by the VBS community after they actual event (and typically published in a joint paper – see also Interaction Logging).

The DRES developers have kindly provided many examples for several programming languages in their Client-Examples repository: https://github.com/dres-dev/Client-Examples

Example: OpenAPI with Angular

If you are using a web application with Angular, you can simply integrate the OpenAPI of DRES with the following steps:

Install OpenAPI generator tools:

npm install @openapitools/openapi-generator-cli -g
npm install -g ng-openapi-gen

Next, add the following lines to your package.json file:

"scripts": {
"gen-dres-client": "openapi-generator-cli generate -g typescript-angular -i https://raw.githubusercontent.com/dres-dev/DRES/master/doc/oas-client.json -o openapi/dres --skip-validate-spec --additional-properties npmName=@dres-client-openapi/api,ngVersion=13.0.0,enumPropertyNaming=original",
},
"dependencies": {
"@openapitools/openapi-generator-cli": "2.4.26"
},

Finally, generate TypeScript files with these commands:

npm run-script gen-dres-client

Simply import the generated files like this (the relation of the path depends on your app):

import {SubmissionService} from '../../openapi/dres/api/submission.service';

Video Browser Showdown - The Video Retrieval Competition