Skip repeated segment in stream recorder (#46701)

* Skip repeated segment in stream recorder

* Allow for multiple overlap
This commit is contained in:
uvjustin 2021-02-19 00:00:26 +08:00 committed by GitHub
parent a5ac338c74
commit 3c7db7bd5b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -42,7 +42,14 @@ def recorder_save_worker(file_out: str, segments: List[Segment], container_forma
)
source.close()
last_sequence = float("-inf")
for segment in segments:
# Because the stream_worker is in a different thread from the record service,
# the lookback segments may still have some overlap with the recorder segments
if segment.sequence <= last_sequence:
continue
last_sequence = segment.sequence
# Open segment
source = av.open(segment.segment, "r", format=container_format)
source_v = source.streams.video[0]