Readd signature decryption in YtStreamExtractor
This commit is contained in:
parent
d9570d8634
commit
e5e8c66686
|
@ -929,11 +929,23 @@ public class YoutubeStreamExtractor extends StreamExtractor {
|
||||||
int itag = formatData.getInt("itag");
|
int itag = formatData.getInt("itag");
|
||||||
|
|
||||||
if (ItagItem.isSupported(itag)) {
|
if (ItagItem.isSupported(itag)) {
|
||||||
|
try {
|
||||||
ItagItem itagItem = ItagItem.getItag(itag);
|
ItagItem itagItem = ItagItem.getItag(itag);
|
||||||
if (itagItem.itagType == itagTypeWanted) {
|
if (itagItem.itagType == itagTypeWanted) {
|
||||||
String streamUrl = formatData.getString("url");
|
String streamUrl;
|
||||||
|
if (formatData.has("url")) {
|
||||||
|
streamUrl = formatData.getString("url");
|
||||||
|
} else {
|
||||||
|
// this url has an encrypted signature
|
||||||
|
Map<String, String> cipher = Parser.compatParseMap(formatData.getString("cipher"));
|
||||||
|
streamUrl = cipher.get("url") + "&" + cipher.get("sp") + "=" + decryptSignature(cipher.get("s"), decryptionCode);
|
||||||
|
}
|
||||||
|
|
||||||
urlAndItags.put(streamUrl, itagItem);
|
urlAndItags.put(streamUrl, itagItem);
|
||||||
}
|
}
|
||||||
|
} catch (UnsupportedEncodingException ignored) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue