diff --git a/core/streaming/readers.py b/core/streaming/readers.py index e221c4a..d6a1272 100644 --- a/core/streaming/readers.py +++ b/core/streaming/readers.py @@ -100,6 +100,7 @@ class FFmpegRTSPReader: '-f', 'rawvideo', '-pix_fmt', 'bgr24', '-an', # No audio + '-update', '1', # Update single frame in place '-y', # Overwrite output file self.temp_file ] @@ -169,19 +170,9 @@ class FFmpegRTSPReader: if self.frame_ready_event.wait(timeout=restart_check_interval): self.frame_ready_event.clear() - # Read latest frame + # Read current frame (file is always exactly one frame) try: with open(self.temp_file, 'rb') as f: - # Get file size - f.seek(0, 2) - file_size = f.tell() - - if file_size < bytes_per_frame: - continue - - # Read last complete frame - last_frame_offset = (file_size // bytes_per_frame - 1) * bytes_per_frame - f.seek(last_frame_offset) frame_data = f.read(bytes_per_frame) if len(frame_data) == bytes_per_frame: