|
|
@@ -330,14 +330,14 @@ class AIVideoGenerationService
|
|
|
|
|
|
// 构建更新数据
|
|
|
$segmentUpdateData = [
|
|
|
- 'video_url' => $statusInfo['result_url'],
|
|
|
+ 'origin_video_url' => $statusInfo['result_url'],
|
|
|
'video_task_status' => '已完成',
|
|
|
'current_type' => 2,
|
|
|
'last_frame_url' => $statusInfo['last_frame_url'] ?? '',
|
|
|
'updated_at' => $now
|
|
|
];
|
|
|
- $compressed_video_url = compressVideo($segmentUpdateData['video_url']);
|
|
|
- if ($compressed_video_url) $segmentUpdateData['preview_video_url'] = $compressed_video_url;
|
|
|
+ $compressed_video_url = compressVideo($statusInfo['result_url']);
|
|
|
+ $segmentUpdateData['video_url'] = $compressed_video_url ?: $statusInfo['result_url'];
|
|
|
|
|
|
// 只有当video_duration存在且大于0时才更新
|
|
|
if (isset($statusInfo['video_duration']) && $statusInfo['video_duration'] > 0) {
|
|
|
@@ -594,14 +594,14 @@ class AIVideoGenerationService
|
|
|
|
|
|
// 构建更新数据
|
|
|
$segmentUpdateData = [
|
|
|
- 'video_url' => $statusInfo['result_url'],
|
|
|
+ 'origin_video_url' => $statusInfo['result_url'],
|
|
|
'video_task_status' => '已完成',
|
|
|
'current_type' => 2,
|
|
|
'last_frame_url' => $statusInfo['last_frame_url'] ?? '',
|
|
|
'updated_at' => $now
|
|
|
];
|
|
|
- $compressed_video_url = compressVideo($segmentUpdateData['video_url']);
|
|
|
- if ($compressed_video_url) $segmentUpdateData['preview_video_url'] = $compressed_video_url;
|
|
|
+ $compressed_video_url = compressVideo($statusInfo['result_url']);
|
|
|
+ $segmentUpdateData['video_url'] = $compressed_video_url ?: $statusInfo['result_url'];
|
|
|
|
|
|
// 只有当video_duration存在且大于0时才更新
|
|
|
if (isset($statusInfo['video_duration']) && $statusInfo['video_duration'] > 0) {
|
|
|
@@ -744,6 +744,10 @@ class AIVideoGenerationService
|
|
|
$video_name = $video_name . $video_ext;
|
|
|
$url = uploadStreamByTos('video', file_get_contents($video_url), $video_name);
|
|
|
$updateData['result_url'] = $url;
|
|
|
+
|
|
|
+ // 压缩视频
|
|
|
+ $compressed_video_url = compressVideo($url);
|
|
|
+ $updateData['compressed_url'] = $compressed_video_url ?: $url;
|
|
|
}
|
|
|
|
|
|
// 计算视频时长
|
|
|
@@ -888,8 +892,8 @@ class AIVideoGenerationService
|
|
|
$video_name = $video_name . $video_ext;
|
|
|
$url = uploadStreamByTos('video', file_get_contents($video_url), $video_name);
|
|
|
$updateData['result_url'] = $url;
|
|
|
- $compressed_video_url = compressVideo($updateData['result_url']);
|
|
|
- if ($compressed_video_url) $updateData['preview_video_url'] = $compressed_video_url;
|
|
|
+ $compressed_video_url = compressVideo($url);
|
|
|
+ $updateData['compressed_url'] = $compressed_video_url ?: $url;
|
|
|
|
|
|
dLog('generate')->info('Seedance 视频保存成功: ' . $url);
|
|
|
} catch (\Exception $e) {
|
|
|
@@ -990,10 +994,13 @@ class AIVideoGenerationService
|
|
|
if ($taskStatus === MpGenerateVideoTask::STATUS_SUCCESS) {
|
|
|
$segmentUpdateData['video_task_status'] = '已完成';
|
|
|
if (isset($updateData['result_url'])) {
|
|
|
- $segmentUpdateData['video_url'] = $updateData['result_url'];
|
|
|
- }
|
|
|
- if (isset($updateData['preview_video_url'])) {
|
|
|
- $segmentUpdateData['preview_video_url'] = $updateData['preview_video_url'];
|
|
|
+ $segmentUpdateData['origin_video_url'] = $updateData['result_url'];
|
|
|
+ // 如果有压缩视频URL,使用压缩后的
|
|
|
+ if (isset($updateData['compressed_url'])) {
|
|
|
+ $segmentUpdateData['video_url'] = $updateData['compressed_url'];
|
|
|
+ } else {
|
|
|
+ $segmentUpdateData['video_url'] = $updateData['result_url'];
|
|
|
+ }
|
|
|
}
|
|
|
} elseif ($taskStatus === MpGenerateVideoTask::STATUS_FAILED) {
|
|
|
$segmentUpdateData['video_task_status'] = '失败';
|
|
|
@@ -1379,14 +1386,14 @@ class AIVideoGenerationService
|
|
|
|
|
|
// 构建更新数据
|
|
|
$segmentUpdateData = [
|
|
|
- 'video_url' => $statusInfo['result_url'],
|
|
|
+ 'origin_video_url' => $statusInfo['result_url'],
|
|
|
'video_task_status' => '已完成',
|
|
|
'current_type' => 2,
|
|
|
'last_frame_url' => $statusInfo['last_frame_url'] ?? '',
|
|
|
'updated_at' => $now
|
|
|
];
|
|
|
- $compressed_video_url = compressVideo($segmentUpdateData['video_url']);
|
|
|
- if ($compressed_video_url) $segmentUpdateData['preview_video_url'] = $compressed_video_url;
|
|
|
+ $compressed_video_url = compressVideo($statusInfo['result_url']);
|
|
|
+ $segmentUpdateData['video_url'] = $compressed_video_url ?: $statusInfo['result_url'];
|
|
|
|
|
|
// 只有当video_duration存在且大于0时才更新
|
|
|
if (isset($statusInfo['video_duration']) && $statusInfo['video_duration'] > 0) {
|