Allocate video-worker to Video Stream Source
In a distributed architecture, it is often necessary that video streams be processed in situ, without being redistributed across remote video-worker instances by the principal server.
Note
Among typical use cases are hotel chains, chain stores, several security checkpoints in the same building, etc.
In this case, allocate the local video-worker to the video stream source.
There are two ways to specify allocation labels:
by
video-worker.yamlconfiguration fileby environment variable or flag.
Note
Use the same name of labels in the video-worker configuration file and in the video processing job, otherwise video stream source will not process.
Do the following:
Open the
/opt/ffserver/configs/video-worker.yamlconfiguration file and specify the allocation labels in the dictionary format (labeldistrictin the example below).sudo vi /opt/ffserver/configs/video-worker.yaml labels: {"district": "SVAO"}
As an alternative way, you can use environment variable
CFG_LABELSor--labelsflag when runningvideo-workerwith docker run command:CFG_LABELS=district=SVAO
Create a video processing job with labels.
"labels": { "district": "SVAO" },
Note
If a video stream source is assigned an allocation label, its video stream can be processed by a video-worker instance with the same label, as well as by all unlabeled video-worker instances.
Warning
If a labeled video stream source is processed by an unlabeled video-worker instance and a free similar-labeled instance appears, the video stream source won’t automatically switch to the latter. Restart the similar-labeled video stream source.