From 768279354cb8dc35adda00083f43d69380133c51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=91=A8=E6=88=90=E6=B3=A2?= <zhouchengbo@wmdigit.com> Date: Mon, 14 Oct 2024 12:00:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/service/text2videoService.ts | 72 ++++++++++++++++++++---- src/views/home/gen_digit_human_video.vue | 49 ++++++++-------- 2 files changed, 85 insertions(+), 36 deletions(-) diff --git a/src/api/service/text2videoService.ts b/src/api/service/text2videoService.ts index fc8c489..78bd33d 100644 --- a/src/api/service/text2videoService.ts +++ b/src/api/service/text2videoService.ts @@ -22,7 +22,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与LLM通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与LLM通讯失败`); + } }); }, @@ -69,7 +73,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与 stable-diffusion-webui Api 通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与 stable-diffusion-webui Api 通讯失败`); + } }); }, @@ -90,7 +98,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`gen_video接å£é€šè®¯å¤±è´¥`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`gen_video接å£é€šè®¯å¤±è´¥`); + } }); }, @@ -111,7 +123,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与pwd_check接å£é€šè®¯å¤±è´¥`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与pwd_check接å£é€šè®¯å¤±è´¥`); + } }); }, @@ -132,7 +148,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与翻译接å£é€šè®¯å¤±è´¥`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与翻译接å£é€šè®¯å¤±è´¥`); + } }); }, @@ -150,7 +170,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`add_text_to_img接å£é€šè®¯å¤±è´¥`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`add_text_to_img接å£é€šè®¯å¤±è´¥`); + } }); }, @@ -168,7 +192,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与Test Api通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与Test Api通讯失败`); + } }); }, @@ -186,7 +214,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与Img2Text Api通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与Img2Text Api通讯失败`); + } }); }, @@ -204,7 +236,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与ImgTextMatch Api通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与ImgTextMatch Api通讯失败`); + } }); }, @@ -222,7 +258,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与 cutout_from_img Api 通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与 cutout_from_img Api 通讯失败`); + } }); }, @@ -275,7 +315,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与 img2img_inpaint Api 通讯失败`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与 img2img_inpaint Api 通讯失败`); + } }); }, @@ -301,7 +345,11 @@ export default { }) .catch((err: any) => { console.log(`err = ${JSON.stringify(err)}`); - return Promise.reject(`与åŽç«¯ gen_video_digithuman 接å£é€šè®¯å¤±è´¥`); + try { + return Promise.reject(err.message); + } catch (e) { + return Promise.reject(`与åŽç«¯ gen_video_digithuman 接å£é€šè®¯å¤±è´¥`); + } }); }, } diff --git a/src/views/home/gen_digit_human_video.vue b/src/views/home/gen_digit_human_video.vue index 65c7189..95fa8b0 100644 --- a/src/views/home/gen_digit_human_video.vue +++ b/src/views/home/gen_digit_human_video.vue @@ -51,9 +51,9 @@ const handleUploadError = (error: Error) => { }); } const handleBeforeUpload = async (file: any) => { - const isLt1M = file.size / 1024 / 1024 <= 10; + const isLt1M = file.size / 1024 / 1024 <= 50; if (!isLt1M) { - ElMessage.error('文件大å°ä¸èƒ½è¶…过 10MB') + ElMessage.error('文件大å°ä¸èƒ½è¶…过 50MB') return false } } @@ -167,11 +167,10 @@ const handleUploadShowImageOrVideoRemove: UploadProps['onRemove'] = (file, uploa // 生æˆè§†é¢‘ const onGenVideo = async () => { if (!form.text || form.text.length == 0 - || !form.sample_audio_path || form.sample_audio_path.length == 0 || !form.sample_video_path || form.sample_video_path.length == 0 ) { ElMessage({ - message: "文案ã€é‡‡æ ·å£°éŸ³ã€å‡ºé•œäººç‰© å‡ä¸èƒ½ä¸ºç©º", + message: "文案ã€å‡ºé•œäººç‰© å‡ä¸èƒ½ä¸ºç©º", type: "error", }); return; @@ -218,52 +217,54 @@ const onGenVideo = async () => { placeholder="Please input" /> </el-form-item> - <!-- é‡‡æ ·å£°éŸ³ --> - <el-form-item label="é‡‡æ ·å£°éŸ³"> + <!-- 出镜人物 --> + <el-form-item label="出镜人物"> <el-upload - ref="upload_sample_audio" + ref="upload_sample_video" :show-file-list="true" :limit="1" - accept=".wav,.WAV" + accept=".mp4,.MP4" :action="actionUrl" - :on-success="UploadSampleAudioSuccess" - :on-exceed="handleUploadSampleAudioExceed" + :on-success="UploadSampleVideoSuccess" + :on-exceed="handleUploadSampleVideoExceed" :on-error="handleUploadError" :before-upload="handleBeforeUpload" - :on-remove="handleUploadSampleAudioRemove" + :on-remove="handleUploadSampleVideoRemove" > <el-button type="primary" size="small">ä¸Šä¼ </el-button> <template #tip> <div class="el-upload__tip" style="color: #0000ff; background-color: #e6f7ff"> - ä¸Šä¼ ä¸€æ®µè¯´è¯çš„声音,比如æ£å¸¸è¯»ä¸€æ®µæ–‡å—,20ç§’å·¦å³å³å¯ã€‚æ–‡ä»¶æ ¼å¼ä¸º wav,ä¸å¤§äºŽ - 10M。 + è¯·å½•åˆ¶ä¸€æ®µå‡ºé•œäººçš„è§†é¢‘ï¼Œè¯´è¯æ—¶çš„嘴型能够清晰分辨,20ç§’å·¦å³å³å¯ã€‚ä¸Šä¼ çš„æ–‡ä»¶æ ¼å¼ä¸º + mp4,ä¸å¤§äºŽ 50M。 </div> </template> </el-upload> </el-form-item> - <!-- 出镜人物 --> - <el-form-item label="出镜人物"> + + <!-- é‡‡æ ·å£°éŸ³ --> + <el-form-item label="é‡‡æ ·å£°éŸ³"> <el-upload - ref="upload_sample_video" + ref="upload_sample_audio" :show-file-list="true" :limit="1" - accept=".mp4,.MP4" + accept=".wav,.WAV" :action="actionUrl" - :on-success="UploadSampleVideoSuccess" - :on-exceed="handleUploadSampleVideoExceed" + :on-success="UploadSampleAudioSuccess" + :on-exceed="handleUploadSampleAudioExceed" :on-error="handleUploadError" :before-upload="handleBeforeUpload" - :on-remove="handleUploadSampleVideoRemove" + :on-remove="handleUploadSampleAudioRemove" > <el-button type="primary" size="small">ä¸Šä¼ </el-button> <template #tip> <div class="el-upload__tip" style="color: #0000ff; background-color: #e6f7ff"> - ä¸Šä¼ ä¸€æ®µå‡ºé•œäººç‰©çš„è§†é¢‘ï¼Œ5-10ç§’å³å¯ï¼Œæ£é¢ï¼Œè¯´è¯å˜´åž‹èƒ½å¤Ÿæ¸…æ™°åˆ†è¾¨ã€‚æ–‡ä»¶æ ¼å¼ä¸º - mp4,ä¸å¤§äºŽ 10M。 + 这里å¯ä»¥ä¸Šä¼ 一段说è¯çš„声音,比如朗读一段文å—,20ç§’å·¦å³å³å¯ã€‚æ–‡ä»¶æ ¼å¼ä¸º + wav,ä¸å¤§äºŽ 50M。也å¯ä»¥ä¸ä¸Šä¼ ,ä¸ä¼ 则默认用出镜人的声音。 </div> </template> </el-upload> </el-form-item> + <!-- 拼接视频或图片 --> <el-form-item label="拼接视频或图片"> <el-upload @@ -281,7 +282,7 @@ const onGenVideo = async () => { <el-button type="primary" size="small">ä¸Šä¼ </el-button> <template #tip> <div class="el-upload__tip" style="color: #0000ff; background-color: #e6f7ff"> - å¯ä»¥ä¸Šä¼ 视频(mp4)或图片(jpg, png), + 这里å¯ä»¥ä¸Šä¼ 一段视频(mp4)æˆ–ä¸€å¼ å›¾ç‰‡(jpg, png), 作为最终视频的上åŠéƒ¨åˆ†ï¼Œä¹Ÿå¯ä»¥ä¸ä¸Šä¼ ,ä¸ä¼ 则åªç”Ÿæˆæ•°å—人视频。 </div> </template> @@ -293,7 +294,7 @@ const onGenVideo = async () => { <el-button type="primary" @click="onGenVideo">生æˆè§†é¢‘</el-button> </el-form-item> <el-form-item> - <video :src="form.final_video" controls></video> + <video :src="form.final_video" controls width="360" height="640"></video> </el-form-item> </el-form> </main> -- 2.18.1