dev #17
1 changed files with 2 additions and 11 deletions
|
@ -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:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue