From 8b520d0c19acd46a907cac704ae13dc3a96c06da Mon Sep 17 00:00:00 2001 From: nilaoda Date: Thu, 25 Mar 2021 23:11:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3AppleTV=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- N_m3u8DL-CLI/Parser.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/N_m3u8DL-CLI/Parser.cs b/N_m3u8DL-CLI/Parser.cs index 82fc179..8c0b4a5 100644 --- a/N_m3u8DL-CLI/Parser.cs +++ b/N_m3u8DL-CLI/Parser.cs @@ -184,13 +184,11 @@ public void Parse() //针对AppleTv修正 if (m3u8Content.Contains("#EXT-X-DISCONTINUITY") && m3u8Content.Contains("#EXT-X-MAP") && M3u8Url.Contains(".apple.com/")) { - //第一个不连续标记之后 - var sub = m3u8Content.Substring(m3u8Content.IndexOf("#EXT-X-DISCONTINUITY")); - Regex ykmap = new Regex("#EXT-X-MAP:URI=\\\"(.*?)\\\""); - if (ykmap.IsMatch(sub)) + //只取加密部分即可 + Regex ykmap = new Regex("(#EXT-X-KEY:[\\s\\S]*?)#EXT-X-DISCONTINUITY"); + if (ykmap.IsMatch(m3u8Content)) { - var nSub = Regex.Replace(sub, "#EXT-X-MAP:URI=\\\"(.*?)\\\"", "#EXTINF:0,\r\n$1"); - m3u8Content = m3u8Content.Replace(sub, nSub).Replace("#EXT-X-DISCONTINUITY", ""); + m3u8Content = "#EXTM3U\r\n" + ykmap.Match(m3u8Content).Groups[1].Value + "\r\n#EXT-X-ENDLIST"; } }