Newpipe: Crash with most videos

Created on 7 Sep 2018  路  34Comments  路  Source: TeamNewPipe/NewPipe

Exception

```
org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$DecryptException: Could not parse decrypt function
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:722)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:597)
at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:48)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:59)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:55)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3$ExtractorHelper(ExtractorHelper.java:113)
at org.schabi.newpipe.util.ExtractorHelper$$Lambda$3.call(Unknown Source:4)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3310)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3310)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4073)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14349)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4073)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3310)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:579)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.schabi.newpipe.extractor.utils.Parser$RegexException: failed to find pattern "(["\'])signature\1\s,\s([a-zA-Z0-9$]+)(
at org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:63)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.loadDecryptionCode(YoutubeStreamExtractor.java:702)
... 30 more

ASAP bug

Most helpful comment

Yep, youtube-dl has the same problem. It looks like YouTube shipped a new obfuscated JS player. Btw this would be a NewPipeExtractor (not NewPipe) issue.

All 34 comments

For more context, it's a Could not decrypt video URL signature error. Most likely some changes in the Google/Youtube backend that resulted in this.

Can confirm this issue. :(

Can confirm. Also occurs in 0.13.7.

I can also confirm this issue.

Confirmed as well

Yep, youtube-dl has the same problem. It looks like YouTube shipped a new obfuscated JS player. Btw this would be a NewPipeExtractor (not NewPipe) issue.

Confirmed on 0.13.7

NewPipe fails to show every video restricted by age with the new release.

Confirmed on 0.13.7. It also has been occurred on FlyMusic app that uses the same method.

Confirmed on Android 8.1.x with version 0.13.7

Also confirmed 0.13.7 on Android 6.0.1

Please stop with the me too posts. It is not constructive to the issue at all.
As well as it would be better to migrate to here as this is an issue with the core and not the app itself.

I'm a bit if newbie here, what is this core?
Why exactly is the issue with core only, is this some kind of module that extracts some things and works independently of the front end app, which acts as some sort of outer core?

the core (newpipe extractor) is the part that gets url's,thumbnails,channels,descriptions,livestreams and etc.. and its a separate component of newpipe that can be embedded into other apps such as skytube

Oh, thanks for info.

So, I noticed NewPipe can still show thumbnails, but it's when you try to open the video, then the error pops up.

It's happening again and again today only.

Yes because YouTube is now using an obfuscated JS Player as mentioned by @wb9688. The issue is happening again and again today as you say, because the YouTube change has been implemented now.
Folks over at youtube-dl have figured out a workaround regex which works, presumably a workaround would follow for NewPipe today as well.

There is a fix?
Yay!

Yes the fix is here. It still has to be merged into the repo so you'll have to wait for a bit.

@The-Demon-Prosecutor thx :)

all fixed in release 0.14.1,i'll be closing this issue,congrats and thx for the fix

Hi,

Do you know when the release 0.14.1 that fixes this bug is going to be available in F-Droid ?

No

New JS Obfuscated player, YTB excuse me wtf?
Great fix theScrabi

Happening to me. It worked fine. Found out if I use my mobile data, it doesn't work - but if I use Wi-Fi, it doesn't crash. The hell is that?

@Mkilbride Make sure you're using version 0.14.1. If it still happens, please post the error trace here.

Suddenly getting that error (Newpipe 0.14.2):
{ "user_action": "requested stream", "request": "https:\/\/www.youtube.com\/watch?v=mdchIFjToG8", "content_language": "GB", "service": "YouTube", "package": "org.schabi.newpipe", "version": "0.14.2", "os": "Linux Android 9 - 28", "time": "2019-01-18 13:33", "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:729)\n\tat org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:604)\n\tat org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:51)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)\n\tat org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:56)\n\tat org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:109)\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 \"(encodeURIComponent=function\\([a-zA-Z0-9_]+\\)\\{.+?\\})\n\tat org.schabi.newpipe.extractor.utils.Parser.matchGroup(Parser.java:63)\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:713)\n\t... 30 more\n" ], "user_comment": "" }

YouTube just updated their obfuscated encryptor again so everything like recent versions of youtube-dl has broken. It'll be fixed shortly, just be patient :+1:

0.15.0 is here since 1h ago :)

Congratulations guys ! The version v0.15 you just released works on my Android 5.0

Hi everyone,

I had to uninstall the newpipe from F-droid to be able to install the apk from your github (different signature) and therefore lost my history of viewed videos.

Maybe I should have waited for the release 0.15 to be available on F-Droid.

When do you plan to push v0.15 on F-Droid ?

@sebma
So did I. Export/import settings/db/etc. came along handy.

@sebma build on fdroid side got stuck because google suddenly changed something on the sdk. We might need to wait until this issue is fixed as well.

@bobblkabb Thanks, I should have know better.
I didn't know where it was (Settings=>Content=>Export database)
@theScrabi I thank you and your team for your great work. Let's hope it not too difficult to fix.
God bless you all.

NewPipe v0.15 is out on F-Droid.
Thanks everyone for your good work :)

Was this page helpful?
0 / 5 - 0 ratings