TeamNewPipe / NewPipe

A libre lightweight streaming front-end for Android.
https://newpipe.net
GNU General Public License v3.0
30.46k stars 2.98k forks source link

Video failed to load once, with error #8628

Open opusforlife2 opened 2 years ago

opusforlife2 commented 2 years ago

Checklist

Affected version

0.23.1

Steps to reproduce the bug

Tapped thumbnail to play video from video details fragment.

Expected behavior

Video should play.

Actual behavior

Error report shown instead.

This happened a while ago, so I don't remember if it generated an error notification or opened the error activity directly.

The video loaded like normal on the second try. I might have restarted the app before trying, though I can't be sure.

Screenshots/Screen recordings

No response

Logs

Exception

org.schabi.newpipe.player.mediasource.FailedMediaSource$MediaSourceResolutionException: Unable to resolve source from stream info. URL: [YT url], audio count: 3, video count: 10, 3
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3$org-schabi-newpipe-player-playback-MediaSourceManager(MediaSourceManager.java:432)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda2.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    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:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:919)


Affected Android/Custom ROM version

No response

Affected device model

No response

Additional information

No response

AudricV commented 2 years ago

Nothing provided in the stacktrace is helpful unfortunately. Do you remember the quality, codec, video id played and/or the format type (post-live DVR, OTF or progressive) of the content/stream?

opusforlife2 commented 2 years ago

720p WebM, so VP9, and it was a simple video, so progressive.

js290 commented 1 year ago

Just ran into this:

Exception

org.schabi.newpipe.player.mediasource.FailedMediaSource$MediaSourceResolutionException: Unable to resolve source from stream info. URL: https://www.youtube.com/watch?v=yemjuMX_x5U, audio count: 3, video count: 8, 2
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:432)
    at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda2.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    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:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:920)


opusforlife2 commented 1 year ago

I would guess at this being a timeout error.

privacyonly commented 1 year ago

something is wrong with newpipe 0.23.3 it works well with 0.24.0 rc

LadyEyes commented 1 year ago

Having same/similar problem playing a music video (have tried 3 different ones) from a Playlist. Will post error code below. It will happily play me long-ish commercials at every opportunity, but hasn't played a single video yet.

Exception

java.lang.IllegalArgumentException: com.newpipe.protube: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
    at android.app.PendingIntent.checkFlags(PendingIntent.java:378)
    at android.app.PendingIntent.getBroadcastAsUser(PendingIntent.java:648)
    at android.app.PendingIntent.getBroadcast(PendingIntent.java:635)
    at org.schabi.newpipe.player.notification.NotificationUtil.createNotification(NotificationUtil.java:123)
    at org.schabi.newpipe.player.notification.NotificationUtil.createNotificationAndStartForeground(NotificationUtil.java:170)
    at org.schabi.newpipe.player.notification.NotificationPlayerUi.initPlayer(NotificationPlayerUi.java:32)
    at org.schabi.newpipe.player.Player$$ExternalSyntheticLambda23.accept(Unknown Source:2)
    at j$.util.Iterator$-CC.$default$forEachRemaining(SourceFile:2)
    at j$.util.Iterator$-EL.forEachRemaining(Unknown Source:10)
    at j$.util.Y.forEachRemaining(Unknown Source:24)
    at j$.util.stream.l2.forEachOrdered(Unknown Source:10)
    at org.schabi.newpipe.player.ui.PlayerUiList.call(PlayerUiList.java:88)
    at org.schabi.newpipe.player.Player.initPlayer(Player.java:522)
    at org.schabi.newpipe.player.Player.initPlayback(Player.java:487)
    at org.schabi.newpipe.player.Player.lambda$handleIntent$2(Player.java:425)
    at org.schabi.newpipe.player.Player.$r8$lambda$1PcYbMVI_TTEfmKKifNTvbiXL8A(Unknown Source:0)
    at org.schabi.newpipe.player.Player$$ExternalSyntheticLambda0.run(Unknown Source:16)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeCallbackObserver.onComplete(MaybeCallbackObserver.java:93)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeObserveOn$ObserveOnMaybeObserver.run(MaybeObserveOn.java:105)
    at io.reactivex.rxjava3.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:123)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:238)
    at android.os.Looper.loop(Looper.java:349)
    at android.app.ActivityThread.main(ActivityThread.java:8241)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)


AudricV commented 1 year ago

It will happily play me long-ish commercials at every opportunity, but hasn't played a single video yet.

com.newpipe.protube

@LadyEyes Please don't use this Play Store copycat and use the real app, which doesn't make use of in-app ads and track you, that you should download only from official sources (see the installation section at the project README in this repo).

ShareASmile commented 1 year ago

This is the official way to install fully adfree without any tracker, the open source NewPipe :-

https://github.com/TeamNewPipe/NewPipe#installation-and-updates

& keep away from copycats, never install from any source other than official one.

AudricV commented 1 year ago

I just got this issue on a video (MPEG-4, 1080p OTF) and I have been able to capture the error stack trace from ADB's logcat:

org.schabi.newpipe.player.resolver.PlaybackResolver$ResolverException: Error when generating the DASH manifest of YouTube OTF stream
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSourceOfVideoStreamType(PlaybackResolver.java:477)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSource(PlaybackResolver.java:400)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.buildMediaSource(PlaybackResolver.java:249)
    at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(VideoPlaybackResolver.java:93)
    at org.schabi.newpipe.player.Player.sourceOf(Player.java:1872)
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:425)
    at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda4.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    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:15917)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
    at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5375)
    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:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:929)
Caused by: org.schabi.newpipe.extractor.services.youtube.dashmanifestcreators.CreationException: Could not get the initialization URL: response code 503
    at org.schabi.newpipe.extractor.services.youtube.dashmanifestcreators.YoutubeOtfDashManifestCreator.fromOtfStreamingUrl(YoutubeOtfDashManifestCreator.java:120)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSourceOfVideoStreamType(PlaybackResolver.java:468)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.createYoutubeMediaSource(PlaybackResolver.java:400)
    at org.schabi.newpipe.player.resolver.PlaybackResolver$-CC.buildMediaSource(PlaybackResolver.java:249)
    at org.schabi.newpipe.player.resolver.VideoPlaybackResolver.resolve(VideoPlaybackResolver.java:93)
    at org.schabi.newpipe.player.Player.sourceOf(Player.java:1872)
    at org.schabi.newpipe.player.playback.MediaSourceManager.lambda$getLoadedMediaSource$3(MediaSourceManager.java:425)
    at org.schabi.newpipe.player.playback.MediaSourceManager.$r8$lambda$GiL2pCn9PgSZNVk872SsYVyH27I(Unknown Source:0)
    at org.schabi.newpipe.player.playback.MediaSourceManager$$ExternalSyntheticLambda4.apply(Unknown Source:6)
    at io.reactivex.rxjava3.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:58)
    at io.reactivex.rxjava3.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)
    at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.onSuccess(SingleSubscribeOn.java:68)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle$ToSingleMaybeSubscriber.onSuccess(MaybeToSingle.java:83)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onNext(FlowableElementAtMaybe.java:80)
    at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:136)
    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:15917)
    at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
    at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5375)
    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:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:929)

So as you can see, there is nothing we can do, that's an issue from YouTube servers. A 503 HTTP error is also returned for streaming URLs on YT's website and it displays one minute or two later that This video isn't available at the selected quality. Please try again later.

@opusforlife2 I think that the video on which you got this error was for an OTF stream, as I checked with js290's video on YT's website and I got 503 errors for all MP4 OTF streams (the MP4 360p quality is a progressive one and plays fine), that your video has only three audio streams (likely M4A 48+128 kbps and WEBM 128-160 kbps) and that progressive manifests do not require a network request to be generated.

opusforlife2 commented 1 year ago

This video isn't available at the selected quality. Please try again later.

@AudricV If retrying won't work, then maybe we can forward this error to the user and let them understand it's not an app bug?