-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Closed
TeamNewPipe/NewPipeExtractor
#1297Labels
ASAPIssue needs to be fixed as soon as possibleIssue needs to be fixed as soon as possiblebugIssue is related to a bugIssue is related to a bugdownloaderIssue is related to the downloaderIssue is related to the downloaderhelp wantedHelp is wanted in fixing this issueHelp is wanted in fixing this issueplayerIssues related to any player (main, popup and background)Issues related to any player (main, popup and background)requires extractor changeThis issue requires a change to the extractorThis issue requires a change to the extractoryoutubeService, https://www.youtube.com/Service, https://www.youtube.com/
Description
TEAM EDIT: if you are a developer and want to help us implement YouTube SABR protocol for playback and downloading (its enforcement is an origin of this issue), please head to #12248 for instructions! The NewPipe team is unfortunately busy at this time so any help is appreciated.
Affected version
0.27.6
Steps to reproduce the bug
Hey folks, I didn't do anything exciting to reproduce this bug.
- Open the app
- Play a video
- Only 360p resolution available on most of videos
- Get an error at the bottom with a report button (which lead me here pasting the error below 👇)
Expected behavior
The video should have played with no error.
Actual behavior
The video played, but this error displayed at the bottom suggesting to report it.
Logs
Exception
- User Action: requested stream
- Request: https://www.youtube.com/watch?v=prxCElDCBdw
- Content Country: US
- Content Language: en-US
- App Language: en_US
- Service: YouTube
- Timestamp: 2025-03-25T12:05:14.427-04:00
- Package: org.schabi.newpipe
- Service: YouTube
- Version: 0.27.6
- OS: Linux Android 15 - 35
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:153)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:81)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$bVfA-5gb6gDc8jcAgcGWG5oH0FE(ExtractorHelper.java:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(R8$$SyntheticClass:0)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
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:16144)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
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:1223)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getAudioStreams(YoutubeStreamExtractor.java:650)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:149)
... 29 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:125)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1386)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$15(YoutubeStreamExtractor.java:1360)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$Db3OkY5wOpYIvq9uxmsIvYyLcaY(YoutubeStreamExtractor.java:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda13.apply(R8$$SyntheticClass:0)
at j$.util.stream.q.accept(SourceFile:195)
at j$.util.stream.q.accept(SourceFile:195)
at j$.util.stream.q.accept(SourceFile:177)
at j$.util.a.forEachRemaining(SourceFile:720)
at j$.util.stream.b.n(SourceFile:484)
at j$.util.stream.b.O(SourceFile:474)
at j$.util.stream.Q.b(SourceFile:150)
at j$.util.stream.b.w(SourceFile:234)
at j$.util.stream.j2.forEach(SourceFile:497)
at j$.util.stream.p.accept(SourceFile:274)
at j$.util.S.forEachRemaining(SourceFile:948)
at j$.util.stream.b.n(SourceFile:484)
at j$.util.stream.b.O(SourceFile:474)
at j$.util.stream.Q.b(SourceFile:150)
at j$.util.stream.b.w(SourceFile:234)
at j$.util.stream.j2.forEachOrdered(SourceFile:502)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1215)
... 31 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:165)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:81)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$bVfA-5gb6gDc8jcAgcGWG5oH0FE(ExtractorHelper.java:0)
at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda3.call(R8$$SyntheticClass:0)
at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
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:16144)
at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5377)
at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4855)
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:1223)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getVideoOnlyStreams(YoutubeStreamExtractor.java:664)
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:163)
... 29 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:125)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.buildAndAddItagInfoToList(YoutubeStreamExtractor.java:1386)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getStreamsFromStreamingDataKey$15(YoutubeStreamExtractor.java:1360)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$Db3OkY5wOpYIvq9uxmsIvYyLcaY(YoutubeStreamExtractor.java:0)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda13.apply(R8$$SyntheticClass:0)
at j$.util.stream.q.accept(SourceFile:195)
at j$.util.stream.q.accept(SourceFile:195)
at j$.util.stream.q.accept(SourceFile:177)
at j$.util.a.forEachRemaining(SourceFile:720)
at j$.util.stream.b.n(SourceFile:484)
at j$.util.stream.b.O(SourceFile:474)
at j$.util.stream.Q.b(SourceFile:150)
at j$.util.stream.b.w(SourceFile:234)
at j$.util.stream.j2.forEach(SourceFile:497)
at j$.util.stream.p.accept(SourceFile:274)
at j$.util.S.forEachRemaining(SourceFile:948)
at j$.util.stream.b.n(SourceFile:484)
at j$.util.stream.b.O(SourceFile:474)
at j$.util.stream.Q.b(SourceFile:150)
at j$.util.stream.b.w(SourceFile:234)
at j$.util.stream.j2.forEachOrdered(SourceFile:502)
at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getItags(YoutubeStreamExtractor.java:1215)
... 31 more
Affected Android/Custom ROM version
GrapheneOS
Affected device model
Pixel 8
Additional information
Further Noted that Download option as audio isn't available
rien333, sebastien46, BrightDV, athompson673, DanLo-peratingSystem and 56 more
Metadata
Metadata
Assignees
Labels
ASAPIssue needs to be fixed as soon as possibleIssue needs to be fixed as soon as possiblebugIssue is related to a bugIssue is related to a bugdownloaderIssue is related to the downloaderIssue is related to the downloaderhelp wantedHelp is wanted in fixing this issueHelp is wanted in fixing this issueplayerIssues related to any player (main, popup and background)Issues related to any player (main, popup and background)requires extractor changeThis issue requires a change to the extractorThis issue requires a change to the extractoryoutubeService, https://www.youtube.com/Service, https://www.youtube.com/