video debug
This commit is contained in:
@@ -158,12 +158,48 @@ class VR180Processor(VideoProcessor):
|
|||||||
try:
|
try:
|
||||||
# Write frames to temporary video
|
# Write frames to temporary video
|
||||||
height, width = eye_frames[0].shape[:2]
|
height, width = eye_frames[0].shape[:2]
|
||||||
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
|
|
||||||
writer = cv2.VideoWriter(str(temp_video_path), fourcc, 30.0, (width, height))
|
# Try different codecs if mp4v fails
|
||||||
|
codecs_to_try = [
|
||||||
|
('mp4v', '.mp4'),
|
||||||
|
('XVID', '.avi'),
|
||||||
|
('MJPG', '.avi')
|
||||||
|
]
|
||||||
|
|
||||||
|
writer = None
|
||||||
|
for fourcc_str, ext in codecs_to_try:
|
||||||
|
fourcc = cv2.VideoWriter_fourcc(*fourcc_str)
|
||||||
|
temp_video_path_with_ext = temp_video_path.with_suffix(ext)
|
||||||
|
writer = cv2.VideoWriter(str(temp_video_path_with_ext), fourcc, 30.0, (width, height))
|
||||||
|
|
||||||
|
if writer.isOpened():
|
||||||
|
temp_video_path = temp_video_path_with_ext
|
||||||
|
print(f"Using codec {fourcc_str} for temp video")
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
writer.release()
|
||||||
|
writer = None
|
||||||
|
|
||||||
|
if writer is None:
|
||||||
|
raise RuntimeError("Failed to open video writer with any codec")
|
||||||
|
|
||||||
for frame in eye_frames:
|
for frame in eye_frames:
|
||||||
writer.write(frame)
|
success = writer.write(frame)
|
||||||
|
if not success:
|
||||||
|
raise RuntimeError(f"Failed to write frame to {temp_video_path}")
|
||||||
|
|
||||||
writer.release()
|
writer.release()
|
||||||
|
del writer # Ensure it's fully released
|
||||||
|
|
||||||
|
# Verify the file was created and has content
|
||||||
|
if not temp_video_path.exists():
|
||||||
|
raise RuntimeError(f"Temporary video file was not created: {temp_video_path}")
|
||||||
|
|
||||||
|
file_size = temp_video_path.stat().st_size
|
||||||
|
if file_size == 0:
|
||||||
|
raise RuntimeError(f"Temporary video file is empty: {temp_video_path}")
|
||||||
|
|
||||||
|
print(f"Created temp video {temp_video_path} ({file_size / 1024 / 1024:.1f} MB)")
|
||||||
|
|
||||||
# Initialize SAM2 with video path
|
# Initialize SAM2 with video path
|
||||||
self.sam2_model.init_video_state(video_path=str(temp_video_path))
|
self.sam2_model.init_video_state(video_path=str(temp_video_path))
|
||||||
|
|||||||
Reference in New Issue
Block a user