NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

[YouTube] Unable to extract videos without metadata on official clients (channel, description, ...)

Open RhythmLunatic opened this issue 5 years ago • 4 comments

Checklist

  • [x] I am using the latest version - 0.20.8
  • [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
  • [x] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
  • [x] This issue contains only one bug. I will open one issue for every bug report I want to file.

Steps to reproduce the bug

Attempt to watch this video: https://www.youtube.com/watch?v=5MPmOQOJHiQ

Actual behaviour

It crashes.

Expected behavior

It plays. This video doesn't have a description or channel on the website or YouTube app either.

Screenshots/Screen recordings

Logs

Exception

  • User Action: requested stream
  • Request: https://www.youtube.com/embed/5MPmOQOJHiQ, opened with popup_player
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: YouTube
  • Version: 0.20.8
  • OS: Linux Android 10 - 29
Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not find videoSecondaryInfoRenderer
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getVideoSecondaryInfoRenderer(YoutubeStreamExtractor.java:914)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getAgeLimit(YoutubeStreamExtractor.java:246)
	at org.schabi.newpipe.extractor.stream.StreamInfo.extractImportantData(StreamInfo.java:106)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:71)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:64)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:127)
	at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$YTHJjScxCJNO1LTCqs3IKy35iyY.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:15753)
	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.SingleObserveOn.subscribeActual(SingleObserveOn.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4799)
	at org.schabi.newpipe.RouterActivity$FetcherService.handleChoice(RouterActivity.java:644)
	at org.schabi.newpipe.RouterActivity$FetcherService.onHandleIntent(RouterActivity.java:616)
	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:78)
	at android.os.Handler.dispatchMessage(Handler.java:107)
	at android.os.Looper.loop(Looper.java:237)
	at android.os.HandlerThread.run(HandlerThread.java:67)


Device info

  • Android version/Custom ROM version: Android 10 (OneUI 2.0)
  • Device model: Samsung Galaxy Tab S5e

RhythmLunatic avatar Jan 01 '21 03:01 RhythmLunatic

Another video exhibiting the same problem: https://www.youtube.com/watch?v=CJ2u3pRpCjc

Xiretza avatar Oct 17 '21 14:10 Xiretza

https://youtu.be/biOqM5BRTDs another one on the latest version 0.23.2

lf- avatar Aug 14 '22 15:08 lf-

I just encountered this error when attempting to watch this video: https://www.youtube.com/watch?v=dUSAl4f4RVw. Upon retrying after getting the error, the video loaded properly.

The crash log however was slightly different than what the OP encountered, so I'll be posting it here if it's needed for any reason.

Exception

  • User Action: requested stream
  • Request: https://www.youtube.com/watch?v=dUSAl4f4RVw
  • Content Country: US
  • Content Language: en-US
  • App Language: en_US
  • Service: YouTube
  • Version: 0.24.0
  • OS: Linux Android 13 - 33
Crash log

org.schabi.newpipe.extractor.exceptions.ParsingException: Could not find videoSecondaryInfoRenderer
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.lambda$getVideoSecondaryInfoRenderer$13(YoutubeStreamExtractor.java:1248)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.$r8$lambda$iPfQI1GF6Vw31NLtJaU6LI5S0IU(Unknown Source:0)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor$$ExternalSyntheticLambda26.get(Unknown Source:0)
	at j$.util.Optional.orElseThrow(Unknown Source:5)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getVideoSecondaryInfoRenderer(YoutubeStreamExtractor.java:1247)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.getAgeLimit(YoutubeStreamExtractor.java:312)
	at org.schabi.newpipe.extractor.stream.StreamInfo.extractImportantData(StreamInfo.java:115)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:81)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:73)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
	at org.schabi.newpipe.util.ExtractorHelper.$r8$lambda$YTHJjScxCJNO1LTCqs3IKy35iyY(Unknown Source:0)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda6.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:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)


TheMCNerd2017 avatar Oct 06 '22 14:10 TheMCNerd2017

Please test the APK linked in TeamNewPipe/NewPipeExtractor#968.

AudricV avatar Nov 04 '22 19:11 AudricV