mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-06-18 11:50:26 +01:00
fix: add more remux debug logging
This commit is contained in:
@@ -113,29 +113,47 @@ export const useRemuxHlsToMp4 = () => {
|
|||||||
FFmpegKit.executeAsync(command, async (session) => {
|
FFmpegKit.executeAsync(command, async (session) => {
|
||||||
try {
|
try {
|
||||||
const returnCode = await session.getReturnCode();
|
const returnCode = await session.getReturnCode();
|
||||||
|
const startTime = new Date();
|
||||||
|
|
||||||
|
let endTime;
|
||||||
if (returnCode.isValueSuccess()) {
|
if (returnCode.isValueSuccess()) {
|
||||||
|
endTime = new Date();
|
||||||
|
writeToLog(
|
||||||
|
"INFO",
|
||||||
|
`useRemuxHlsToMp4 ~ remuxing completed successfully for item: ${
|
||||||
|
item.Name
|
||||||
|
}, start time: ${startTime.toISOString()}, end time: ${endTime.toISOString()}, duration: ${
|
||||||
|
(endTime.getTime() - startTime.getTime()) / 1000
|
||||||
|
}s`
|
||||||
|
);
|
||||||
if (!item) throw new Error("Item is undefined");
|
if (!item) throw new Error("Item is undefined");
|
||||||
await saveDownloadedItemInfo(item);
|
await saveDownloadedItemInfo(item);
|
||||||
toast.success("Download completed");
|
toast.success("Download completed");
|
||||||
writeToLog(
|
|
||||||
"INFO",
|
|
||||||
`useRemuxHlsToMp4 ~ remuxing completed successfully for item: ${item.Name}`
|
|
||||||
);
|
|
||||||
await queryClient.invalidateQueries({
|
await queryClient.invalidateQueries({
|
||||||
queryKey: ["downloadedItems"],
|
queryKey: ["downloadedItems"],
|
||||||
});
|
});
|
||||||
resolve();
|
resolve();
|
||||||
} else if (returnCode.isValueError()) {
|
} else if (returnCode.isValueError()) {
|
||||||
|
endTime = new Date();
|
||||||
|
const allLogs = session.getAllLogsAsString();
|
||||||
writeToLog(
|
writeToLog(
|
||||||
"ERROR",
|
"ERROR",
|
||||||
`useRemuxHlsToMp4 ~ remuxing failed for item: ${item.Name}`
|
`useRemuxHlsToMp4 ~ remuxing failed for item: ${
|
||||||
|
item.Name
|
||||||
|
}, start time: ${startTime.toISOString()}, end time: ${endTime.toISOString()}, duration: ${
|
||||||
|
(endTime.getTime() - startTime.getTime()) / 1000
|
||||||
|
}s. All logs: ${allLogs}`
|
||||||
);
|
);
|
||||||
reject(new Error("Remuxing failed"));
|
reject(new Error("Remuxing failed"));
|
||||||
} else if (returnCode.isValueCancel()) {
|
} else if (returnCode.isValueCancel()) {
|
||||||
|
endTime = new Date();
|
||||||
writeToLog(
|
writeToLog(
|
||||||
"INFO",
|
"INFO",
|
||||||
`useRemuxHlsToMp4 ~ remuxing was canceled for item: ${item.Name}`
|
`useRemuxHlsToMp4 ~ remuxing was canceled for item: ${
|
||||||
|
item.Name
|
||||||
|
}, start time: ${startTime.toISOString()}, end time: ${endTime.toISOString()}, duration: ${
|
||||||
|
(endTime.getTime() - startTime.getTime()) / 1000
|
||||||
|
}s`
|
||||||
);
|
);
|
||||||
resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
@@ -143,16 +161,24 @@ export const useRemuxHlsToMp4 = () => {
|
|||||||
setProcesses((prev) => {
|
setProcesses((prev) => {
|
||||||
return prev.filter((process) => process.itemId !== item.Id);
|
return prev.filter((process) => process.itemId !== item.Id);
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (e) {
|
||||||
|
const error = e as Error;
|
||||||
|
const errorLog = `Error: ${error.message}, Stack: ${error.stack}`;
|
||||||
|
writeToLog(
|
||||||
|
"ERROR",
|
||||||
|
`useRemuxHlsToMp4 ~ Exception during remuxing for item: ${item.Name}, ${errorLog}`
|
||||||
|
);
|
||||||
reject(error);
|
reject(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (e) {
|
||||||
|
const error = e as Error;
|
||||||
|
const errorLog = `Error: ${error.message}, Stack: ${error.stack}`;
|
||||||
console.error("Failed to remux:", error);
|
console.error("Failed to remux:", error);
|
||||||
writeToLog(
|
writeToLog(
|
||||||
"ERROR",
|
"ERROR",
|
||||||
`useRemuxHlsToMp4 ~ remuxing failed for item: ${item.Name}`
|
`useRemuxHlsToMp4 ~ remuxing failed for item: ${item.Name}, ${errorLog}`
|
||||||
);
|
);
|
||||||
setProcesses((prev) => {
|
setProcesses((prev) => {
|
||||||
return prev.filter((process) => process.itemId !== item.Id);
|
return prev.filter((process) => process.itemId !== item.Id);
|
||||||
|
|||||||
Reference in New Issue
Block a user