Bug in ffmpeg-record mp4box buffer processing
Hi!

While analysing your code very closely and experimented with it a bit, I have found a possible bug:
https://github.com/hjdhjd/homebridge-unifi-protect/blob/ea1c878b621c5e4bbb6cf1c0f32ce8cd70793b9e/src/protect-ffmpeg-record.ts#L212

IMHO, the correct comparison at this point is:
```typescript
if(data.length < dataLength) { 
```

Why? At this point `data` always refers to the payload part of the mp4box only. `dataLength`refers to the complete payload length in case the payload is distributed over multiple buffers.
Thus, the `offset`is NOT needed here. The usage of `offset`in calculations and comparisons here only makes sense if we compare against the whole `buffer`: e.g. `buffer.length` as this also includes the 8 byte header.

The bug is very subtile and can only occur under rare circumstances. 

