diff --git a/app/service/generate_image/utils/pose_transform_upload.py b/app/service/generate_image/utils/pose_transform_upload.py index 86c3e6e..7e97a26 100644 --- a/app/service/generate_image/utils/pose_transform_upload.py +++ b/app/service/generate_image/utils/pose_transform_upload.py @@ -1,6 +1,7 @@ import io import logging +import cv2 import imageio import numpy as np # import boto3 @@ -43,20 +44,22 @@ def upload_gif(gif_buffer, user_id, category, file_name): def upload_video(frames, user_id, category, file_name): try: + # 生成内存中的视频字节流 video_buffer = io.BytesIO() - with imageio.get_writer(video_buffer, format='mp4', fps=24) as writer: - for frame in frames: - writer.append_data(frame) - video_buffer.seek(0) + with imageio.get_writer(video_buffer, format="mp4", fps=24) as writer: + for img in images: + writer.append_data(img) + writer.close() + video_bytes = video_buffer.getvalue() object_name = f'{user_id}/{category}/{file_name}' # 上传视频流到MinIO minio_client.put_object( bucket_name="aida-users", object_name=object_name, - data=video_buffer, - length=video_buffer.getbuffer().nbytes, - content_type='video/mp4' + data=io.BytesIO(video_bytes), + length=len(video_bytes), + content_type="video/mp4" ) return f"aida-users/{object_name}" except Exception as e: