mirror of
https://github.com/NohamR/N_m3u8DL-RE.git
synced 2025-05-24 22:32:00 +00:00
优化cenc
的KID
读取
This commit is contained in:
parent
85eaf7d4bd
commit
5b88660518
@ -50,7 +50,6 @@ namespace Mp4SubtitleParser
|
||||
|
||||
private static void ReadBox(byte[] data, ParsedMP4Info info)
|
||||
{
|
||||
info.KID = HexUtil.BytesToHex(data[^16..]).ToLower();
|
||||
//find schm
|
||||
var schmBytes = new byte[4] { 0x73, 0x63, 0x68, 0x6d };
|
||||
var schmIndex = 0;
|
||||
@ -66,6 +65,24 @@ namespace Mp4SubtitleParser
|
||||
{
|
||||
info.Scheme = System.Text.Encoding.UTF8.GetString(data[schmIndex..][8..12]);
|
||||
}
|
||||
|
||||
if (info.Scheme != "cenc") return;
|
||||
|
||||
//find KID
|
||||
var tencBytes = new byte[4] { 0x74, 0x65, 0x6E, 0x63 };
|
||||
var tencIndex = 0;
|
||||
for (int i = 0; i < data.Length - 4; i++)
|
||||
{
|
||||
if (new byte[4] { data[i], data[i + 1], data[i + 2], data[i + 3] }.SequenceEqual(tencBytes))
|
||||
{
|
||||
tencIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (tencIndex + 12 < data.Length)
|
||||
{
|
||||
info.KID = HexUtil.BytesToHex(data[tencIndex..][12..28]).ToLower();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user