添加ffmpeg日志

This commit is contained in:
CN-JS-HuiBai
2026-04-04 01:04:36 +08:00
parent b3f5053482
commit fee1576e96

View File

@@ -586,6 +586,39 @@ app.get('/api/hls/segment.ts', async (req, res) => {
console.error('HLS FFmpeg Error:', err.message); console.error('HLS FFmpeg Error:', err.message);
}); });
ffmpegCommand.on('progress', (progress) => {
const timemarkSeconds = parseTimemarkToSeconds(progress.timemark || '0');
const absoluteSeconds = startTime + (isFinite(timemarkSeconds) ? timemarkSeconds : 0);
const totalDuration = parseFloat(sourceMetadata?.format?.duration || 0);
let percent = 0;
if (totalDuration > 0) {
percent = Math.min(Math.max(Math.round((absoluteSeconds / totalDuration) * 100), 0), 100);
}
const progressState = {
status: 'transcoding',
percent,
frame: progress.frames || null,
fps: progress.currentFps || null,
bitrate: progress.currentKbps || null,
timemark: progress.timemark || null,
absoluteSeconds,
duration: totalDuration || null,
startSeconds: startTime,
details: `处理进度 ${percent}%`,
mp4Url: null
};
progressMap[progressKey] = progressState;
broadcastWs(progressKey, { type: 'progress', key, progress: progressState });
console.log(`[FFmpeg] ${progressKey} | ${progress.timemark} | ${progress.currentFps}fps | ${progress.currentKbps}kbps | ${percent}%`);
});
ffmpegCommand.on('end', () => {
console.log(`[FFmpeg] ${progressKey} HLS transcode completed.`);
});
ffmpegCommand.run(); ffmpegCommand.run();
currentProcess = { command: ffmpegCommand, currentSeg: seg }; currentProcess = { command: ffmpegCommand, currentSeg: seg };
hlsProcesses.set(progressKey, currentProcess); hlsProcesses.set(progressKey, currentProcess);