MaxInputQueueLength

Analysis tasks usually do not process every frame of a video. An analysis task chooses frames to process at regular intervals throughout the video. This interval is called the sample interval. Analysis engines have a default sample interval, and if the engine supports the SampleInterval configuration parameter you can choose a sample interval.

When Media Server encounters a complex section of video with lots of activity in the scene, the time required to process each video frame can increase. When the time required is longer than the sample interval, subsequent frames have to wait before Media Server is ready to process them. This is normal and ensures that the frames selected for analysis are evenly distributed.

This parameter specifies the maximum delay that is acceptable between a video frame being ingested and it being analyzed. For example, if you set MaxInputQueueLength=3s then Media Server discards any video frame that has been waiting longer than three seconds (effectively increasing the sample interval).

Setting this parameter therefore places a limit on latency, which is the amount of time between a video frame being ingested by Media Server and data being output. The total latency is the value of this parameter plus the time required to analyze the frame. In some cases, such as a number plate recognition system installed in a police car, it is extremely important to have low latency. However, in complex sections of video with lots of activity, Media Server might be forced to discard video frames that could otherwise have been processed.

IMPORTANT: Setting this parameter can reduce accuracy and reduce the number of events that are identified.

OpenText recommends that you explore alternatives before setting this parameter. For example, if the analysis engine supports using multiple threads and your Media Server has sufficient resources, you could increase the number of CPU threads used for analysis, so that Media Server can process several video frames concurrently. To increase the number of threads, use the configuration parameter NumParallel.

IMPORTANT: Do not set this parameter unless you have set the parameter IngestRate to 1.

Type:
Default: (No limit)
Required: No
Configuration Section: TaskName
Example: MaxInputQueueLength=5s
See Also: