From 0214cdffa4cb9c04c8be79651a5d41c09d186818 Mon Sep 17 00:00:00 2001 From: zchengrong <124802516+zchengrong@users.noreply.github.com> Date: Wed, 11 Jun 2025 16:12:39 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=88=E6=96=B0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=89:=20fix=EF=BC=88=E4=BF=AE=E5=A4=8Dbug=EF=BC=89:=20=20p?= =?UTF-8?q?ose=20transform=20=E5=9B=BE=E7=89=87=E5=90=88=E6=88=90=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E6=96=B9=E6=B3=95=E6=9B=B4=E6=8D=A2=20docs=EF=BC=88?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=8F=98=E6=9B=B4=EF=BC=89:=20refactor?= =?UTF-8?q?=EF=BC=88=E9=87=8D=E6=9E=84=EF=BC=89:=20test(=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E6=B5=8B=E8=AF=95):?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../utils/pose_transform_upload.py | 21 ++++--------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/app/service/generate_image/utils/pose_transform_upload.py b/app/service/generate_image/utils/pose_transform_upload.py index b1368d5..e7925d7 100644 --- a/app/service/generate_image/utils/pose_transform_upload.py +++ b/app/service/generate_image/utils/pose_transform_upload.py @@ -3,9 +3,9 @@ import logging import os.path import numpy as np -import skvideo.io # import boto3 from minio import Minio +from moviepy.video.io.ImageSequenceClip import ImageSequenceClip from app.core.config import * from app.service.utils.new_oss_client import oss_upload_image @@ -63,23 +63,10 @@ def upload_video(frames, user_id, category, file_name): def ndarray_to_video(images, output_path, frame_size=(512, 768), fps=9): - save_path = os.path.join(POSE_TRANSFORM_VIDEO_PATH, output_path) - # 初始化视频写入器 - writer = skvideo.io.FFmpegWriter( - save_path, - inputdict={'-r': str(fps)}, - outputdict={'-r': str(fps), '-vcodec': 'libx264'} - ) - # 逐帧写入 - for frame in images: - # 调整尺寸(可选) - # resized_frame = cv2.resize(frame, frame_size) - # 转换颜色通道(若需从 BGR 转 RGB) - # rgb_frame = cv2.cvtColor(resized_frame, cv2.COLOR_BGR2RGB) - writer.writeFrame(frame) + save_path = os.path.join(r"E:\workspace\trinity_client_aida\app\service\generate_image\pose_transform_video", output_path) + clip = ImageSequenceClip([frame for frame in images], fps=fps) + clip.write_videofile(save_path, codec='libx264') - # 关闭写入器 - writer.close() return save_path