diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java index 22dc78c52..b5cdd21db 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeStreamExtractor.java @@ -927,8 +927,12 @@ public class YoutubeStreamExtractor extends StreamExtractor { streamUrl = formatData.getString("url"); } else { // this url has an encrypted signature - Map cipher = Parser.compatParseMap(formatData.getString("cipher")); - streamUrl = cipher.get("url") + "&" + cipher.get("sp") + "=" + decryptSignature(cipher.get("s"), decryptionCode); + final String cipherString = formatData.has("cipher") + ? formatData.getString("cipher") + : formatData.getString("signatureCipher"); + final Map cipher = Parser.compatParseMap(cipherString); + streamUrl = cipher.get("url") + "&" + cipher.get("sp") + "=" + + decryptSignature(cipher.get("s"), decryptionCode); } urlAndItags.put(streamUrl, itagItem);