Introduction
WebScan is software that enables instant detection of illegal copies on video-sharing platforms. WebScan is based on a proprietary digital video fingerprinting technology by WebKontrol.

Video fingerprinting is a technology that identifies, extracts, and then summarizes the distinctive elements of a video into a unique fingerprint. This technology has demonstrated its efficiency in searching and comparing video files at scale. Video fingerprints are irreversible to the original files and fully secure.

To run copy detection for a video on the WebScan you should prepare and upload a digital fingerprint of the video to the WebScan data server. The documentation covers every step of this process.

Once uploaded your titles will be available as entities for copy identification in Webscan:
Prepare your content for WebScan
Step 1. Generate fingerprints

In this step, we use a Docker container to generate fingerprints for a specific video file. This process involves analyzing the video and extracting its unique features to create a digital fingerprint. The generated fingerprint can then be used for identification purposes.

To start, install Docker on your system and store the video file in the directory specified by /path/to/video/storage. Likewise, the generated fingerprints will be stored in the directory specified by /path/to/fp/storage.

Use the following command to execute the Docker container:


docker run \
    --rm \
    -v /path/to/video/storage:/videos:ro \
    -v /path/to/fp/storage:/fingerprints \
    registry.clients.webkontrol.com/wk-fingerprint /videos/video.mp4 /fingerprints/fingerprint.fp
This command mounts both the video storage and fingerprint storage directories volumes inside the container. The command then runs the registry.clients.webkontrol.com/wk-fingerprint image and passes both the video file and the fingerprint file paths as arguments.

By using read-only volumes (ro), we ensure that the original files remain untouched and secure, while the container can access the necessary data to complete the fingerprinting process.

On the first call, the Docker image is pulled from the WebKontrol docker-registry, and subsequently, the cached image is used.

Example:

docker run \
    --rm \
    -v /home/testuser:/videos:ro \
    -v /home/testuser:/fingerprints \
    registry.clients.webkontrol.com/wk-fingerprint /videos/video.mp4 /fingerprints/fingerprint.fp
Example description:

/home/testuser folder is mounted as videos storage to /videos folder inside the docker container file system.

/home/testuser folder is mounted as fingerprints storage to /fingerprints folder inside the docker container file system.

/videos/video.mp4 is an input video file. Originally it is located at /home/testuser. On the docker filesystem, it is located in the /videos folder.

/fingerprints/fingerprint.fp is an output fingerprint file. After creation, it could be found in the /home/testuser folder.
Step 2. Upload fingerprints to WebScan

To upload prepared fingerprints to WebScan servers, send a POST request to the endpoint https://scan.webkontrol.com/v2/upload/<client_video_id>
Parameters
Responses
Usage example

curl "https://scan.webkontrol.com/api/upload/my_first_fp?type=1&title=My%20First%20FP&year=2023&season=1&episode=1&other=Other%20Info" \
  -X POST \
  -H "Authorization: Token <token>" \
  --data-binary "@fingerprint.fp"
Detect illegal copies