ShareASmile / NewPipeExtractor

Core part of Legacy NewPipe
GNU General Public License v3.0
1 stars 3 forks source link

[YT] Extractor Broken again Videos can not be played with HTTP error 403 #50

Closed legacybin closed 3 months ago

legacybin commented 3 months ago

[YT] Fix JavaScript n parameter decoding function name extraction

YouTube changed their code again to making it more difficult to fetch and play streams. It has deployed an anti-bot token, for which its requirement is A/B tested on the WEB client. In this test, streaming URLs of this client return HTTP errors 403 if the token is not provided after some time.

YouTube now returns 403 if a stream is requested without the deobfuscated n parameter. So this is probably the cause for videos not loading giving [HTTP] error 403

Issue Starting Date: 24July 2024 [YouTube] Streams Not Loading HTTP error 403 again after 24 July 2024 in this Java8 Extractor Compatible for NewPipeZing preunified & Newpipe Legacy Clients listed in end section of this issue.

Due to this YT parsing error most effected Apps are for Legacy Devices which use this Java8 compatible extractor latest commit hash of master branch

Apps Effected: Apps using NewPipeExtractor latest commit hash of master branch for legacy devices which is based on upstream v0.22.7 + fix likes count extraction +[SoundCloud] Detect whether there are any more search results + java 8 patches + revert Use of StandardCharsets.UTF_8 in place of UTF_8 for legacy devices compatibility

1.NewpipeLegacyRevo for Jellybean Both a. revo pre-unified v0.19.9.5 b. flora Unified v0.23.1.1

  1. NewPipeZing Pre-unified for KitKat

  2. https://github.com/legacybin/NewPipe_Legacy

legacybin commented 3 months ago

@Jtfk need your help for fixing this.

ShareASmile commented 3 months ago

Fixed by #51

ShareASmile commented 3 months ago

Broken comments issue #46 mostly needs help.

Jtfk commented 3 months ago

@Jtfk need your help for fixing this.

I'm impressed that the patches is being used. I have update the forked Java 8 version to 0.24.2.

0.24.2-j8 #### Test results: ![img](https://i.imgur.com/Nhev9Lp.png)
legacybin commented 3 months ago

Thanks Jtfk for the effort to keep pre-unified alive, since 0.23.0, 0.24.0 & 0.24.2 extractor have a lot of breaking changes to api for clients (it has PRs for Multiple images support, Channel Tabs support & Multi Language Audio trackes support & with more api changes included) hence updating Newpipe pre-unified to 0.24.2 will require a lot of work with caution as api changes are big & it requires certain Major UI changes to client apps, I am afraid I can't do that alone.

In case we go ahead directly with updating extractor to 0.24.2 instead of using this fork( which has basic commits to function pre-unified) it will be major changes specially UI changes & code have to be adapted in such a way that pre-unified player handles that well(as it has 3 different players (namely Main, Background & Popup) each can run a stream different to other & streams can be interchanged to other player unlike upstream NewPipe has 3 Players Unified since 0.20.0 & it is also in feature freeze mode due to pending rewrite.

Pre-Unified 0.19.8 code is 4 years old, most dependencies need to be updated, a long list of deprications show when compiling the NewPipe Zing App. Mark variables final, Use of ViewBinding & most importantly inclusion of Support delivery methods other than progressive HTTP(peertube playback is broken in pre-unified for a long time) are things to do first. It demands a teamwork of developers who can work in their free time & know NewPipe codebase. A cohesive effort is needed to deliver and rejuvenate the pre-unified project.