diff --git a/src/N_m3u8DL-RE.Common/Resource/ResString.cs b/src/N_m3u8DL-RE.Common/Resource/ResString.cs index d65babe..5d0da33 100644 --- a/src/N_m3u8DL-RE.Common/Resource/ResString.cs +++ b/src/N_m3u8DL-RE.Common/Resource/ResString.cs @@ -10,6 +10,8 @@ namespace N_m3u8DL_RE.Common.Resource public class ResString { public readonly static string ReLiveTs = ""; + public static string singleFileRealtimeDecryptWarn { get => GetText("singleFileRealtimeDecryptWarn"); } + public static string singleFileSplitWarn { get => GetText("singleFileSplitWarn"); } public static string customRangeWarn { get => GetText("customRangeWarn"); } public static string customRangeFound { get => GetText("customRangeFound"); } public static string customAdKeywordsFound { get => GetText("customAdKeywordsFound"); } diff --git a/src/N_m3u8DL-RE.Common/Resource/StaticText.cs b/src/N_m3u8DL-RE.Common/Resource/StaticText.cs index e97ce6b..af9d31c 100644 --- a/src/N_m3u8DL-RE.Common/Resource/StaticText.cs +++ b/src/N_m3u8DL-RE.Common/Resource/StaticText.cs @@ -10,6 +10,18 @@ namespace N_m3u8DL_RE.Common.Resource { public static Dictionary LANG_DIC = new() { + ["singleFileSplitWarn"] = new TextContainer + ( + zhCN: "整段文件已被自动切割为小分片以加速下载", + zhTW: "整段文件已被自動切割為小分片以加速下載", + enUS: "The entire file has been cut into small segments to accelerate" + ), + ["singleFileRealtimeDecryptWarn"] = new TextContainer + ( + zhCN: "实时解密已被强制关闭", + zhTW: "即時解密已被強制關閉", + enUS: "Real-time decryption has been disabled" + ), ["customRangeWarn"] = new TextContainer ( zhCN: "请注意,自定义下载范围有时会导致音画不同步", diff --git a/src/N_m3u8DL-RE/DownloadManager/SimpleDownloadManager.cs b/src/N_m3u8DL-RE/DownloadManager/SimpleDownloadManager.cs index c2225ee..a5b60e4 100644 --- a/src/N_m3u8DL-RE/DownloadManager/SimpleDownloadManager.cs +++ b/src/N_m3u8DL-RE/DownloadManager/SimpleDownloadManager.cs @@ -109,7 +109,16 @@ namespace N_m3u8DL_RE.DownloadManager if (segments.Count() == 1) { var splitSegments = await LargeSingleFileSplitUtil.SplitUrlAsync(segments.First(), DownloaderConfig.Headers); - if (splitSegments != null) segments = splitSegments; + if (splitSegments != null) + { + segments = splitSegments; + Logger.WarnMarkUp($"[darkorange3_1]{ResString.singleFileSplitWarn}[/]"); + if (DownloaderConfig.MyOptions.MP4RealTimeDecryption) + { + DownloaderConfig.MyOptions.MP4RealTimeDecryption = false; + Logger.WarnMarkUp($"[darkorange3_1]{ResString.singleFileRealtimeDecryptWarn}[/]"); + } + } else speedContainer.SingleSegment = true; }