Skip to content

Commit c15407a

Browse files
committed
updates
1 parent 9815249 commit c15407a

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed

amadeusgpt/managers/visual_manager.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -550,21 +550,26 @@ def write_video(self, out_folder, video_file_path, out_name, events):
550550
return
551551

552552
fourcc = cv2.VideoWriter_fourcc(*"avc1") # Adjust the codec as needed
553-
out = cv2.VideoWriter(
554-
os.path.join(out_folder, f"{out_name}"),
555-
fourcc,
556-
30.0,
557-
(int(cap.get(3)), int(cap.get(4))),
558-
)
559553

560-
for triple in data:
554+
out_videos = []
555+
556+
for idx, triple in enumerate(data):
557+
558+
out = cv2.VideoWriter(
559+
os.path.join(out_folder, f"{out_name}_{idx}"),
560+
fourcc,
561+
30.0,
562+
(int(cap.get(3)), int(cap.get(4))),
563+
)
564+
out_videos.append(os.path.join(out_folder, f"{out_name}_{idx}"))
565+
561566
time_slice = triple["time_slice"]
562567
sender_animal_name = triple["sender_animal_name"]
563568
sender_keypoints = triple["sender_keypoints"]
564569
receiver_keypoints = triple["receiver_keypoints"]
565570
cap.set(cv2.CAP_PROP_POS_FRAMES, time_slice[0])
566571
offset = 0
567-
572+
568573
while cap.isOpened():
569574
current_frame = time_slice[0] + offset
570575
ret, frame = cap.read()
@@ -669,6 +674,8 @@ def write_video(self, out_folder, video_file_path, out_name, events):
669674
cap.release()
670675
out.release()
671676
cv2.destroyAllWindows()
677+
678+
return out_videos
672679

673680
def generate_video_clips_from_events(
674681
self, out_folder, video_file, events: List[BaseEvent], behavior_name
@@ -683,5 +690,5 @@ def generate_video_clips_from_events(
683690
videoname = video_file.split("/")[-1].replace(".mp4", "").replace(".avi", "")
684691
video_name = f"{videoname}_{behavior_name}_video.mp4"
685692

686-
self.write_video(out_folder, video_file, video_name, events)
687-
return os.path.join(out_folder, video_name)
693+
out_videos = self.write_video(out_folder, video_file, video_name, events)
694+
return out_videos

amadeusgpt/programs/sandbox.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def create_message(query, sandbox):
3131
"error_message": None,
3232
"function_rets": None,
3333
"sandbox": sandbox,
34-
"out_videos": [],
34+
"out_videos": None,
3535
"pose_video": None,
3636
"meta_info": None
3737
}
@@ -424,9 +424,8 @@ def render_qa_message(self, qa_message):
424424
bodypart_names=bodypart_names, events=e
425425
)
426426
)
427-
qa_message["out_videos"].append(
428-
self.events_to_videos(e, self.get_function_name_from_string(qa_message["code"]))
429-
)
427+
qa_message["out_videos"] = self.events_to_videos(e, self.get_function_name_from_string(qa_message["code"]))
428+
430429

431430
elif (
432431
isinstance(function_rets, list)
@@ -442,9 +441,8 @@ def render_qa_message(self, qa_message):
442441
plots.append(
443442
visual_manager.get_ethogram_visualization(events=function_rets)
444443
)
445-
qa_message["out_videos"].append(
446-
self.events_to_videos(function_rets, self.get_function_name_from_string(qa_message["code"]))
447-
)
444+
qa_message["out_videos"] = self.events_to_videos(function_rets, self.get_function_name_from_string(qa_message["code"]))
445+
448446
else:
449447
pass
450448
qa_message["plots"].extend(plots)

0 commit comments

Comments
 (0)