|
@@ -405,10 +405,12 @@ class AnimeController extends BaseController
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
|
|
|
|
|
- dLog('anime')->error('视频任务处理失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'task_id' => $taskId,
|
|
'task_id' => $taskId,
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('视频任务处理失败', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '视频任务处理失败', $logData);
|
|
|
}
|
|
}
|
|
|
} elseif ($statusResult['status'] === 'failed') {
|
|
} elseif ($statusResult['status'] === 'failed') {
|
|
|
DB::table('mp_episode_segments')
|
|
DB::table('mp_episode_segments')
|
|
@@ -658,11 +660,13 @@ class AnimeController extends BaseController
|
|
|
];
|
|
];
|
|
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('创建分镜视频任务失败: ' . $e->getMessage(), [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segment->segment_id,
|
|
'segment_id' => $segment->segment_id,
|
|
|
'anime_id' => $animeId,
|
|
'anime_id' => $animeId,
|
|
|
'episode_number' => $episodeNumber
|
|
'episode_number' => $episodeNumber
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('创建分镜视频任务失败: ' . $e->getMessage(), $logData);
|
|
|
|
|
+ logDB('anime', 'error', '创建分镜视频任务失败: ' . $e->getMessage(), $logData);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -788,11 +792,13 @@ class AnimeController extends BaseController
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
DB::rollBack();
|
|
DB::rollBack();
|
|
|
|
|
|
|
|
- dLog('anime')->error('视频任务处理失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segmentId,
|
|
'segment_id' => $segmentId,
|
|
|
'task_id' => $taskId,
|
|
'task_id' => $taskId,
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('视频任务处理失败', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '视频任务处理失败', $logData);
|
|
|
|
|
|
|
|
// 发送任务处理失败通知
|
|
// 发送任务处理失败通知
|
|
|
echo "data: " . json_encode([
|
|
echo "data: " . json_encode([
|
|
@@ -1033,11 +1039,13 @@ class AnimeController extends BaseController
|
|
|
$result = $this->AnimeService->createCompleteVideoTask($data);
|
|
$result = $this->AnimeService->createCompleteVideoTask($data);
|
|
|
return $this->success($result);
|
|
return $this->success($result);
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('创建完整视频合成任务失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'anime_id' => $data['anime_id'] ?? '',
|
|
'anime_id' => $data['anime_id'] ?? '',
|
|
|
'episode_id' => $data['episode_id'] ?? '',
|
|
'episode_id' => $data['episode_id'] ?? '',
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('创建完整视频合成任务失败', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '创建完整视频合成任务失败', $logData);
|
|
|
return $this->error('20003:'.$e->getMessage());
|
|
return $this->error('20003:'.$e->getMessage());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1151,18 +1159,22 @@ class AnimeController extends BaseController
|
|
|
file_put_contents($filePath, $imageData);
|
|
file_put_contents($filePath, $imageData);
|
|
|
$downloadedFiles[] = $filePath;
|
|
$downloadedFiles[] = $filePath;
|
|
|
} else {
|
|
} else {
|
|
|
- dLog('anime')->warning('图片下载失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segment->segment_id,
|
|
'segment_id' => $segment->segment_id,
|
|
|
'img_url' => $imgUrl
|
|
'img_url' => $imgUrl
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->warning('图片下载失败', $logData);
|
|
|
|
|
+ logDB('anime', 'warning', '图片下载失败', $logData);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('下载图片异常', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segment->segment_id,
|
|
'segment_id' => $segment->segment_id,
|
|
|
'img_url' => $segment->img_url,
|
|
'img_url' => $segment->img_url,
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('下载图片异常', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '下载图片异常', $logData);
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1215,17 +1227,21 @@ class AnimeController extends BaseController
|
|
|
file_put_contents($audioFilePath, $audioData);
|
|
file_put_contents($audioFilePath, $audioData);
|
|
|
$audioFiles[] = $audioFilePath;
|
|
$audioFiles[] = $audioFilePath;
|
|
|
} else {
|
|
} else {
|
|
|
- dLog('anime')->warning('音频下载失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segment->segment_id,
|
|
'segment_id' => $segment->segment_id,
|
|
|
'audio_url' => $segment->audio_url
|
|
'audio_url' => $segment->audio_url
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->warning('音频下载失败', $logData);
|
|
|
|
|
+ logDB('anime', 'warning', '音频下载失败', $logData);
|
|
|
}
|
|
}
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('下载音频异常', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'segment_id' => $segment->segment_id,
|
|
'segment_id' => $segment->segment_id,
|
|
|
'audio_url' => $segment->audio_url,
|
|
'audio_url' => $segment->audio_url,
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('下载音频异常', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '下载音频异常', $logData);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1255,18 +1271,22 @@ class AnimeController extends BaseController
|
|
|
exec($ffmpegCommand, $ffmpegOutput, $ffmpegReturnCode);
|
|
exec($ffmpegCommand, $ffmpegOutput, $ffmpegReturnCode);
|
|
|
|
|
|
|
|
if ($ffmpegReturnCode !== 0 || !file_exists($mergedAudioPath)) {
|
|
if ($ffmpegReturnCode !== 0 || !file_exists($mergedAudioPath)) {
|
|
|
- dLog('anime')->error('FFmpeg 合成音频失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'command' => $ffmpegCommand,
|
|
'command' => $ffmpegCommand,
|
|
|
'output' => implode("\n", $ffmpegOutput),
|
|
'output' => implode("\n", $ffmpegOutput),
|
|
|
'return_code' => $ffmpegReturnCode
|
|
'return_code' => $ffmpegReturnCode
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('FFmpeg 合成音频失败', $logData);
|
|
|
|
|
+ logDB('anime', 'error', 'FFmpeg 合成音频失败', $logData);
|
|
|
$mergedAudioPath = null;
|
|
$mergedAudioPath = null;
|
|
|
} else {
|
|
} else {
|
|
|
- dLog('anime')->info('音频合成成功', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'audio_count' => count($audioFiles),
|
|
'audio_count' => count($audioFiles),
|
|
|
'output_file' => $mergedAudioPath,
|
|
'output_file' => $mergedAudioPath,
|
|
|
'file_size' => filesize($mergedAudioPath)
|
|
'file_size' => filesize($mergedAudioPath)
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->info('音频合成成功', $logData);
|
|
|
|
|
+ logDB('anime', 'info', '音频合成成功', $logData);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 清理临时音频文件和 concat 文件
|
|
// 清理临时音频文件和 concat 文件
|
|
@@ -1281,12 +1301,15 @@ class AnimeController extends BaseController
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
dLog('anime')->warning('FFmpeg 未安装,跳过音频合成');
|
|
dLog('anime')->warning('FFmpeg 未安装,跳过音频合成');
|
|
|
|
|
+ logDB('anime', 'warning', 'FFmpeg 未安装,跳过音频合成', []);
|
|
|
}
|
|
}
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('音频合成过程异常', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'error' => $e->getMessage(),
|
|
'error' => $e->getMessage(),
|
|
|
'trace' => $e->getTraceAsString()
|
|
'trace' => $e->getTraceAsString()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('音频合成过程异常', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '音频合成过程异常', $logData);
|
|
|
// 音频合成失败不影响图片导出
|
|
// 音频合成失败不影响图片导出
|
|
|
$mergedAudioPath = null;
|
|
$mergedAudioPath = null;
|
|
|
}
|
|
}
|
|
@@ -1332,11 +1355,13 @@ class AnimeController extends BaseController
|
|
|
return response()->download($zipFilePath, $zipFileName)->deleteFileAfterSend(true);
|
|
return response()->download($zipFilePath, $zipFileName)->deleteFileAfterSend(true);
|
|
|
|
|
|
|
|
} catch (\Exception $e) {
|
|
} catch (\Exception $e) {
|
|
|
- dLog('anime')->error('导出分集图片失败', [
|
|
|
|
|
|
|
+ $logData = [
|
|
|
'anime_id' => $animeId,
|
|
'anime_id' => $animeId,
|
|
|
'episode_id' => $episodeId,
|
|
'episode_id' => $episodeId,
|
|
|
'error' => $e->getMessage()
|
|
'error' => $e->getMessage()
|
|
|
- ]);
|
|
|
|
|
|
|
+ ];
|
|
|
|
|
+ dLog('anime')->error('导出分集图片失败', $logData);
|
|
|
|
|
+ logDB('anime', 'error', '导出分集图片失败', $logData);
|
|
|
|
|
|
|
|
// 清理可能存在的临时文件
|
|
// 清理可能存在的临时文件
|
|
|
if (isset($tempDir) && file_exists($tempDir)) {
|
|
if (isset($tempDir) && file_exists($tempDir)) {
|