youtube.lua: descramble "n" URL parameter to fix throttling issue
YouTube playback is currently broken due to heavy data transfer throttling that was fully rolled out last week, see #26174 (closed) This is similar to the URL signature scrambling, and is solved here reusing the same proven design. Although the descrambling javascript for this is an order of magnitude more complex than for URL signatures, it's still fairly workable; considering the hindsight other analysts have provided since the apparition of the feature back in June, I'm fairly confident this solution will be as sustainable as the URL signature descrambling. The implementation still lacks more live testing over time, but I see no reason to withhold an initial release.
If approved, please merge and backport this to 3.0 without unnecessary delay, as people are looking forward to this fix to restore the feature.
Merge request reports
Activity
added Component::LUA scripts label
mentioned in issue #26174 (closed)
added MRStatus::Reviewable label
added MRStatus::Acceptable label and removed MRStatus::Reviewable label
added Severity::critical label
- Resolved by Pierre Ynard
added MRStatus::InReview label and removed MRStatus::Acceptable label
added 1 commit
- 069816e9 - youtube.lua: descramble "n" video URL parameter by parsing javascript
added MRStatus::Acceptable label and removed MRStatus::InReview label
added MRStatus::Accepted label and removed MRStatus::Acceptable label
MR Acceptance result
This MergeRequest has been Accepted! Congratulations.MR acceptance checks details:
-
MR should be considered mergeable by Gitlab -
Last pipeline should be successful -
MergeRequest should have at least one external review and/or vote -
All threads should be resolved, and score >= 0 -
MergeRequest should have no activity (threads/votes) for (24h/24h)
-
- Resolved by Pierre Ynard
Hi, you'll need to either enable
Allow commits from members who can merge to the target branch.
or to rebase/merge this yourself
added 21 commits
-
069816e9...3379c7bd - 13 commits from branch
videolan:master
- b2c32b5e - youtube.lua: add extra "out of use" comment
- c7b4efcf - youtube.lua: remove fallback to retired alternate video info API
- a1786912 - youtube.lua: fix up signature descrambling function name extraction
- 8473b3bf - youtube.lua: rework error handling for signature descrambling
- 095f0930 - youtube.lua: rename signature descrambling function
- 4cfa8b65 - youtube.lua: factor out descrambling javascript fetching
- f3963e68 - youtube.lua: retry fetching descrambling javascript asset once
- 03e69578 - youtube.lua: descramble "n" video URL parameter by parsing javascript
Toggle commit list-
069816e9...3379c7bd - 13 commits from branch
enabled an automatic merge when the pipeline for 03e69578 succeeds
added MRStatus::InReview label and removed MRStatus::Accepted label
removed MRStatus::InReview label
added MRStatus::Accepted label
mentioned in issue #26221 (closed)
mentioned in merge request !838 (merged)
I don't mean to rush but curious if it's looking like a solvable issue?
Yes. In fact it's already solved and fixed for now: !894 (merged)
changed milestone to %3.0.17