Newpipe: "Video not available" / "Could not decrypt video URL"

Created on 23 Jan 2020  Â·  31Comments  Â·  Source: TeamNewPipe/NewPipe

https://www.youtube.com/watch?v=hAsZCTL__lo

This video causes problems for some reason, even though it is very well available on the normal site and regularly there are no problems.

ASAP bug youtube

Most helpful comment

Please stop posting same here etc.
I am on it. It seems like they changed the complete json handling.

All 31 comments

Ok so I didn't do anything and now it works. Btw I did restart and try it multiple times before.

Opening that video causes an exception in the Extractor.
Screenshot_20200123-201317
Also it happens to me in other videos.

It happens now on every YouTube videos to me.
I can't use Crash report to markdown:
Cannot convert bug report to Markdown: Failed to parse JSON due to syntax error: JSON.parse: bad character in string literal at line 11 column 3117 of the JSON data

plain text crash report:


Crash error


{
"user_action": "requested stream",
"request": "https:\/\/www.youtube.com\/watch?v=tV4OVJd_ddI",
"content_language": "GB",
"service": "YouTube",
"package": "org.schabi.newpipe",
"version": "0.18.0",
"os": "Linux Android 8.1.0 - 27",
"time": "2020-01-23 19:31",
"exceptions": [
"org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function \n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)\n\tat org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14479)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)\n\tat java.lang.Thread.run(Thread.java:764)\nCaused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern \";([A-Za-z0-9_\$]{2})\...\( inside of var lea=function(a){a=a.split(\"\");var b=[function(c,d){d=(d� length+c.length)� length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};\"\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)\n\t... 30 more\n"
],
"user_comment": ""
}


Same on my end.

Sent with K-9 Mail. Please excuse my brevity.

Same here
Screenshot_20200123-204648

{ "user_action": "requested stream", "request": "https:\/\/www.youtube.com\/watch?v=wx34LNWEE8E", "content_language": "GB", "service": "YouTube", "package": "org.schabi.newpipe", "version": "0.18.0", "os": "Linux Android 9 - 28", "time": "2020-01-23 19:47", "exceptions": [ "org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function \n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)\n\tat org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14479)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat java.lang.Thread.run(Thread.java:764)\nCaused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern \";([A-Za-z0-9_\\$]{2})\\...\\( inside of var lea=function(a){a=a.split(\"\");var b=[function(c,d){d=(d%c.length+c.length)%c.length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};\"\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)\n\t... 30 more\n" ], "user_comment": "" }

same Here in every Video

{
   "user_action": "requested stream",
   "request": "https:\/\/www.youtube.com\/watch?v=hAsZCTL__lo",
   "content_language": "DE",
   "service": "YouTube",
   "package": "org.schabi.newpipe",
   "version": "0.18.1",
   "os": "Linux Android 9 - 28",
   "time": "2020-01-23 19:51",
   "exceptions": [
      "org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function \n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)\n\tat org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14479)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)\n\tat java.lang.Thread.run(Thread.java:764)\nCaused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern \";([A-Za-z0-9_\\$]{2})\\...\\( inside of var lea=function(a){a=a.split(\"\");var b=[function(c,d){d=(d%c.length+c.length)%c.length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};\"\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)\n\t... 30 more\n"
   ],
   "user_comment": ""
}

Same issue here. Tried restarting my phone and reinstalling newpipe, nothing helps. Guessing YouTube changed something?

It's happening with all videos now :c

Same here. No video works.

Please stop posting same here etc.
I am on it. It seems like they changed the complete json handling.

Please stop posting same here etc.

You guys should sticky this. We are going to get a ton of duplicate issues.

Didn't this happen already? What about the updated NewPipeExtractor, or is it completely new system. If yes, then await a rollback, or message Omar @Invidious if they fixed it.

Looks like it can be fixed by adding one more extractor regexp: https://github.com/ytdl-org/youtube-dl/commit/c3cfea906869e8358652e382679a5996c2aec73e

Same issue, I'm using the F-Droid release. I'm curious how this broke? F-Droid didn't update anything, so not sure why anything would have changed with Newpipe? Getting the issue on every video though.

Just updated and it's still happening to me too

{
   "user_action": "requested stream",
   "request": "https:\/\/www.youtube.com\/watch?v=dwI5b-wRLic",
   "content_language": "US",
   "service": "YouTube",
   "package": "org.schabi.newpipe",
   "version": "0.18.1",
   "os": "Linux lge\/lv517_vzw\/lv517:7.0\/NRD90U\/190181842abee:user\/release-keys 7.0 - 24",
   "time": "2020-01-24 00:30",
   "exceptions": [
      "org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function \n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:849)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:716)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:54)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)\n\tat org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(lambda)\n\tat io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)\n\tat io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)\n\tat io.reactivex.Flowable.subscribe(Flowable.java:14479)\n\tat io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)\n\tat io.reactivex.Maybe.subscribe(Maybe.java:4154)\n\tat io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)\n\tat io.reactivex.Single.subscribe(Single.java:3438)\n\tat io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)\n\tat io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)\n\tat io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:237)\n\tat java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)\n\tat java.lang.Thread.run(Thread.java:761)\nCaused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern \";([A-Za-z0-9_\\$]{2})\\...\\( inside of var lea=function(a){a=a.split(\"\");var b=[function(c,d){d=(d%c.length+c.length)%c.length;c.splice(-d).reverse().forEach(function(e){return c.unshift(e)};\"\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:73)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:61)\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup1(Parser.java:52)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:836)\n\t... 30 more\n"
   ],
   "user_comment": ""
}

Screenshot_2020-01-23-19-30-25

'\b(?P<sig>[a-zA-Z0-9$]{2})\s*=\s*function\(\s*a\s*\)\s*{\s*a\s*=\s*a\.split\(\s*""\s*\)'

Adopting the Python Regex into the Java extractor seems to be more difficult than i I thought.
It should be added here and here. However, the regex does not work for me. Can someone help me with that?

Maybe this online tool could help you test and debug the regex you're trying to use.

https://regex101.com/

Hope you have luck fixing this...

@stvpn Thanks. That works :tada: I'll try to get the new version out tonight.

Mine broke between videos at about 3pm east us. No change in app. Thanks for you work.

The new release has been uploaded to GitHub. Thanks @TobiGr for fixing this in such a short time!

Thank you @TobiGr 🥰

It's still not working.

Works on the first video I tried, thanks!

It's still not working.
Screenshot_20200124-105026

Check your screenshot, you're on the old version @11fen...

All uninstalled and reinstalled but no longer working

The fix was in v0.18.2. That has been released here on Github, but has not been pushed to fdroid yet.

thanks for million! waitting for push to fdroid so that I can use v0.18.2

.

thanks

Works for my device, too. Thanks guys!
(Couldn't install the fresh apk file until I realised that I had to uninstall the version I obtained via F-droid first... oops! :-) )

@rogerval that's hopefully going to be fixed with #1981.

Locking this thread to avoid further spam. It's great that works for you again, I think that's been established.

If you have further issues, please open a new issue. You can also ask first in our IRC chat #newpipe on Freenode, often issues can be sorted out there.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

danialbehzadi picture danialbehzadi  Â·  3Comments

tty4242 picture tty4242  Â·  3Comments

probonopd picture probonopd  Â·  3Comments

Hunter9888x picture Hunter9888x  Â·  3Comments

PanderMusubi picture PanderMusubi  Â·  3Comments