PipePipe
PipePipe copied to clipboard
[Bug] All videos are played only on 360p
Checklist (Your issue will be automatically closed if you delete this part)
- [ok] I make sure that there are no existing issues - open or closed - which I could contribute my information to.
- [ok] I understand that issues with limited impact, such as those occurring on specific devices or under specific network conditions, will not be fixed.
- [ok] I am able to reproduce the bug with the latest version given here: CLICK THIS LINK.
- [ok] I have attached the error report in the issue.
Describe the bug I open the app, I click on any video, the message "sorry, something went wrong" appears. The video get played anyway, but only on 360p and a higher resolution can't be selected. This happens with all videos.
Frequency Every time I use the app, every video I try to play. It started on March 12th (90% sure that's the day), before that the app worked just fine.
Steps to reproduce the bug Open the app, click on any video. An error message should appear, video starts playing on 360p and no other resolution can be selected.
Device (e.g. Pixel 9 Pro) Sony Xperia 10 IV
Error report
Exception
- User Action: requested stream
- Request: https://www.youtube.com/watch?v=8FtW5_2TLrM
- Content Country:
- Content Language: en-
- App Language: en
- Service: YouTube (Logged in)
- Version: 4.2.1
- OS: Linux Android 14 - 34
Exceptions (2)
org.schabi.newpipe.extractor.exceptions.ExtractionException: Couldn't get audio streams
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:195)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:109)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:88)
at org.schabi.newpipe.util.ExtractorHelper.getNewStreamInfo(ExtractorHelper.java:132)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.call(Unknown Source:4)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get audio streams
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1338)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getAudioStreams(YoutubeStreamExtractor.java:657)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:191)
... 30 more
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.utils.Parser.compatParseMap(Parser.java:135)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1531)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$28(YoutubeStreamExtractor.java:1505)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$UzQHXY7teet_MSd3x5z6Uj_H6mc(Unknown Source:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda29.apply(Unknown Source:10)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:0)
at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
at j$.util.X.forEachRemaining(Unknown Source:24)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEach(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.P.forEachRemaining(Unknown Source:20)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEachOrdered(SourceFile:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1330)
... 32 more
org.schabi.newpipe.extractor.exceptions.ExtractionException: Couldn't get video only streams
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:209)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:109)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:88)
at org.schabi.newpipe.util.ExtractorHelper.getNewStreamInfo(ExtractorHelper.java:132)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.call(Unknown Source:4)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get video-only streams
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1338)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getVideoOnlyStreams(YoutubeStreamExtractor.java:673)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:207)
... 30 more
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.utils.Parser.compatParseMap(Parser.java:135)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1531)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$28(YoutubeStreamExtractor.java:1505)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$UzQHXY7teet_MSd3x5z6Uj_H6mc(Unknown Source:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda29.apply(Unknown Source:10)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:0)
at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
at j$.util.X.forEachRemaining(Unknown Source:24)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEach(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.P.forEachRemaining(Unknown Source:20)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEachOrdered(SourceFile:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1330)
... 32 moreCrash log 1
Crash log 2
Additional context The "what happened message" on the error report prompt says "could not parse website"
Hello, @RickQuintaluce! I'm here to assist you with any bugs, questions, or contributions. Let me know how I can help you while we wait for a human maintainer.
There are two similar closed issues related to videos playing only in 360p resolution:
-
One issue suggests that the problem might be due to YouTube A/B testing their new API, which affects the PipePipe client specifically. Testing with other clients like Seal and the official YouTube app shows that higher resolutions work, indicating a client-specific issue [1].
-
Another issue points to a
NullPointerExceptionin thecompatParseMapmethod of theParserclass, causing theYoutubeStreamExtractorto fail. This could be due to changes in the YouTube API or a bug in the app version 4.2.1. It is recommended to check for updates or patches for the app and review recent changes to theYoutubeStreamExtractorclass [2].
In your case, the error logs indicate ExtractionException and ParsingException due to null references when attempting to parse streaming data, which aligns with the second issue. You might want to look into recent changes in the YoutubeStreamExtractor class or check for any available updates that address this issue.
To continue talking to Dosu, mention @dosu.
Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other
This is #826 , which is due to new YouTube DRM blocking.
Please try apk here and let me know if it works. You need to log out and log in again to make it work.
this is related to #888. no current fix. seems like youtube itself is the problem.
see >>
https://stadt-bremerhaven.de/technische-probleme-bei-youtube-nutzer-klagen-ueber-schlechte-videoqualitaet/
https://support.google.com/youtube/thread/332214867/video-and-shorts-playing-in-low-quality
That makes sense because right now none of the videos plays anymore & half of the time as I try to play a video, the app kicks me out
@OutersiderOfficial The issue you described is obviously unrelated to this issue. If you are certain you are using the latest version, please open a new issue.
This is #826 , which is due to new YouTube DRM blocking.
Please try apk here and let me know if it works. You need to log out and log in again to make it work.
It seems to work. Edit: only works when not logged in
This is #826 , which is due to new YouTube DRM blocking. Please try apk here and let me know if it works. You need to log out and log in again to make it work.
It seems to work. Edit: only works when not logged in
Can confirm it also works only when not logged in and in mobile/cellular data (have access to up to 2160p60 for all the videos that offer it!). When on Wi-Fi, either logged in and it's 360p only or logged out I can't load the video and have the "Your IP is blocked by YouTube. Try using a VPN or logging in"
To me it's not a big deal, because I have basically unlimited 5G data, but I still wanted to report on the conditions triggering that issue.
Pipepipe 4.3.0 Android 14 Motorola g73 5G
Hello. I don't know the reason, but I can play almost any music videos on 1080p.
I tested 8 videos I found by serching for “official music videos,” and I can play 7 videos on 1080p:
https://www.youtube.com/watch?v=ekr2nIex040 https://www.youtube.com/watch?v=uLK2r3sG4lE https://www.youtube.com/watch?v=kPa7bsKwL-c https://www.youtube.com/watch?v=V9PVRfjEBTI https://www.youtube.com/watch?v=Eu4Rj3KTpYw https://www.youtube.com/watch?v=fLexgOxsZu0 https://www.youtube.com/watch?v=R2-yomhYAj4
and a video that I can't play on 1080p:
https://www.youtube.com/watch?v=eOAEpMOo-pA
Pipepipe 4.3.0 Android 15, HyperOS 2 POCO X6 5G Pro
I hope this leads to a solution...
Hi....it's either "Your IP is blocked" and when I log in to solve this , videos plays at 360p only https://ibb.co/MyGrCCPr Now what should I do ?
hi i have the same error the videos are played at 360p on pipepipe 4.3.1 and i have this log ## Exception
- User Action: requested stream
- Request: https://www.youtube.com/watch?v=gix1SduHw_E
- Content Country: IT
- Content Language: it-IT
- App Language: it_IT
- Service: YouTube (Logged in)
- Version: 4.3.1
- OS: Linux Android 16 - 36
Exceptions (2)
Crash log 1
org.schabi.newpipe.extractor.exceptions.ExtractionException: Couldn't get audio streams
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:195)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:109)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:88)
at org.schabi.newpipe.util.ExtractorHelper.getNewStreamInfo(ExtractorHelper.java:132)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.call(Unknown Source:4)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
at java.lang.Thread.run(Thread.java:1119)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get audio streams
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1340)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getAudioStreams(YoutubeStreamExtractor.java:657)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:191)
... 30 more
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.utils.Parser.compatParseMap(Parser.java:140)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1533)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$28(YoutubeStreamExtractor.java:1507)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$UzQHXY7teet_MSd3x5z6Uj_H6mc(Unknown Source:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda29.apply(Unknown Source:10)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:0)
at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
at j$.util.X.forEachRemaining(Unknown Source:24)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEach(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.P.forEachRemaining(Unknown Source:20)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEachOrdered(SourceFile:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1332)
... 32 more
Crash log 2
org.schabi.newpipe.extractor.exceptions.ExtractionException: Couldn't get video only streams
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:209)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:109)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:88)
at org.schabi.newpipe.util.ExtractorHelper.getNewStreamInfo(ExtractorHelper.java:132)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda5.call(Unknown Source:4)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
at java.lang.Thread.run(Thread.java:1119)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Could not get video-only streams
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1340)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getVideoOnlyStreams(YoutubeStreamExtractor.java:673)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:207)
... 30 more
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String[] java.lang.String.split(java.lang.String)' on a null object reference
at org.schabi.newpipe.extractor.utils.Parser.compatParseMap(Parser.java:140)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1533)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$28(YoutubeStreamExtractor.java:1507)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$UzQHXY7teet_MSd3x5z6Uj_H6mc(Unknown Source:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda29.apply(Unknown Source:10)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:0)
at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
at j$.util.X.forEachRemaining(Unknown Source:24)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEach(SourceFile:0)
at j$.util.stream.T1.accept(SourceFile:0)
at j$.util.P.forEachRemaining(Unknown Source:20)
at j$.util.stream.c.G0(SourceFile:0)
at j$.util.stream.c.Y0(SourceFile:0)
at j$.util.stream.T.b0(SourceFile:0)
at j$.util.stream.c.b1(SourceFile:0)
at j$.util.stream.Z1.forEachOrdered(SourceFile:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1332)
... 32 more
@RA1-Asur Before we find a solution, the only way is to use a VPN. @manuel09 If your ip not blocked, simply log out and the problem will be solved.
Just updated to 4.3.1 and also get this problem. I previously used 4.3.0 without any problem. Is this regression? Because I used 4.3.0 without any problem right before updating it. Just a minute apart.
Strange that i have this issue only when logged in
And when im logged out some videos just refuse to play
The same issue has been fixed in NewPipe 0.27.7.
@cbiere No it's not a fix. They just use the same way we fetch stream details without login. For non-login users we don't have this issue from the beginning.
https://github.com/TeamNewPipe/NewPipe/issues/12248 is the actual fix, but it is at the very beginning. We will definitely adopt it once finished.
How about it only uses this feature on age restricted videos and has normal videos not use this bugged feature. The only use for logging in is to be able to view age restricted content. If there isn't any way to fix this issue fully then this might be the only way to make logging in viable.
- The login option provides a way to bypass the 403 issue. YouTube is continuously introducing new changes aimed at anonymous users, and ultimately the solution can only be to log in.
- Currently, anonymous accounts use the Android extractor, logged-in users use the web extractor, and YouTube now adopts this format only on the web. Therefore, it is possible to bypass this issue without logging in. However, it is almost foreseeable that the SABR format will be fully adopted by YouTube within a few months, and by then there will be no workaround, and any third-party YouTube clients will have to deal with this issue.
- Supporting a new private format is a big project, and it takes time. Ideally, we will solve this problem in version 4.5.0.
@751PARVEEN newpipe has a login feature now?
No, they don't. As I commented before, we don't have the issue for anonymous users at the beginning.
Update: We've discovered that adding full support to the new SABR stream is a much larger task than expected and is unlikely to be completed for the next few releases.
As a workaround, we now use the tvhtml5 extractor to bypass the issue. It is known to have problem for some users, as claimed in https://github.com/yt-dlp/yt-dlp/issues/12563#issuecomment-2708528287, but should work for most cases.
Please test the latest debug apk here, and report the result here.
@InfinityLoop1308 It seems to work just fine for me.
Update: We've discovered that adding full support to the new SABR stream is a much larger task than expected and is unlikely to be completed for the next few releases. As a workaround, we now use the
tvhtml5extractor to bypass the issue. It is known to have problem for some users, as claimed in yt-dlp/yt-dlp#12563 (comment), but should work for most cases.Please test the latest debug apk here, and report the result here.
This works good. Debug apk shows all video qualities while logged in.
It's working fine for me for now. I am signed in, on WiFi and am seeing all the resolutions I expect to see. Fingers crossed this continues.
Note to anyone having trouble installing the debug version in the future:
I had to uninstall my old versions before I could install the debug version (said there was a conflict with an installed program), and I restarted before installing just for good measure.
Also: PipePipe 4.4.2 debug Android 16 Pixel 8 Pro
Work perfectly, Pixel 6, on Android 13. Did not have proglem to install the debug alongside the non debug.
Fixed in 4.5.0.
I downloaded the 4.4.2-debug release linked above that was supposed to fix it and it worked for a day but now the exact same errors - ip blocked, login only 360p... Edit: just tried 4.5.0 same issue of IP blocked but after login token the resolutions are available higher at least :)