Another fix for ATVP m3u8

This commit is contained in:
chu23465 2025-04-30 09:48:47 +05:30
parent bfcb36734b
commit e3eb83b4ae
3 changed files with 37 additions and 30 deletions

Binary file not shown.

View File

@ -36,16 +36,41 @@ def parse(master, source=None):
# get pssh if available
# uses master.session_keys instead of master.keys as master.keys is ONLY EXT-X-KEYS and
# doesn't include EXT-X-SESSION-KEYS which is whats used for variant playlist M3U8.
try:
psshPR = [
session_key.uri.split(",")[-1]
for session_key in master.session_keys
if (
session_key.keyformat.lower() == "com.microsoft.playready"
and
source == "DSNP"
and
x.stream_info.characteristics.lower().replace('"', "") in session_key.characteristics.lower().split(",")
)
][0]
except:
try:
psshPR = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "com.microsoft.playready"][0]
except IndexError:
psshPR = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "com.microsoft.playready"]
try:
psshPR = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "com.microsoft.playready"][0]
psshWV = [
session_key.uri.split(",")[-1]
for session_key in master.session_keys
if (
session_key.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
and
source == "DSNP"
and
x.stream_info.characteristics.lower().replace('"', "") in session_key.characteristics.lower().split(",")
)
][0]
except IndexError:
psshPR = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "com.microsoft.playready"]
try:
psshWV = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"][0]
except IndexError:
psshWV = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"]
try:
psshWV = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"][0]
except IndexError:
psshWV = [x.uri.split(",")[-1] for x in master.session_keys if x.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"]
# if pssh:
# pssh = base64.b64decode(pssh)
# # noinspection PyBroadException
@ -83,28 +108,8 @@ def parse(master, source=None):
descriptor=Track.Descriptor.M3U,
# decryption
encrypted=bool(master.keys or master.session_keys),
psshWV=[
session_key.uri.split(",")[-1]
for session_key in master.session_keys
if (
session_key.keyformat.lower() == "urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"
and
source == "DSNP"
and
x.stream_info.characteristics.lower().replace('"', "") in session_key.characteristics.lower().split(",")
)
][0] or (psshWV if psshWV else None),
psshPR=[
session_key.uri.split(",")[-1]
for session_key in master.session_keys
if (
session_key.keyformat.lower() == "com.microsoft.playready"
and
source == "DSNP"
and
x.stream_info.characteristics.lower().replace('"', "") in session_key.characteristics.lower().split(",")
)
][0] or (psshPR if psshPR else None),
psshWV=psshWV,
psshPR=psshPR,
# extra
extra=(x, master)
) for x in master.playlists],

View File

@ -9,6 +9,7 @@ cdm:
default: 'hisense_smarttv_he55a7000euwts_sl3000'
Amazon: 'hisense_smarttv_he55a7000euwts_sl3000'
Hotstar: 'xiaomi_mi_a1_15.0.0_60ceee88_8159_l3'
Jio: 'xiaomi_mi_a1_15.0.0_60ceee88_8159_l3'
DisneyPlus: 'mtc_mtc_atv_atv_sl3000'
Sunnxt: 'xiaomi_mi_a1_15.0.0_60ceee88_8159_l3'
@ -24,7 +25,8 @@ cdm_api:
credentials:
iTunes: 'username:password'
Hotstar: 'username:password'
DisneyPlus: 'username:password'
DisneyPlus: 'tjp4252@gmail.com:Tjcooke@121382'
Sunnxt: '9860835343:Welcome@123'
directories:
temp: ''