# Blinker - Rate Limiter

The frame rate limiter module reduces the frame rate of a stream by delaying frames and/or dropping frames. It receives a single input stream and passes it on with a possibly reduced frame rate.
If a frame (frame B) occurs to fast after the previous one (frame A), it is delayed so that the maximum frame rate is not violated. If another frame (frame C) occurs before frame B is forwarded, frame B is dropped and frame C will be forwarded with some delay (if no newer frame (frame D) is received before frame C is forwarded).

## Configuration

The configuration of the frame rate limiter module with name `NAME` is located in the `ratelimiters/NAME` subdirectory.

### Input Stream

The file `instream` contains the name of the stream to receive. The frames received from this stream are passed to the output stream if the delay in between is high enough so the maximum frame rate is not violated.

### Maximum Frame Rate

The file `maxrate` specifies the maximum allowed frame rate format of the output stream in frames per second. The file must contain a single floating point value, e.g. `2.0` for limiting the frame rate to two frames per second.

### Output Stream

The file `outstream` contains the name of the stream to which to send the frames with reduced frame rate.