Coder Social home page Coder Social logo

ytuhd's Introduction

YTUHD

Unlock 1440p (2K) and 2160p (4K) resolutions in iOS YouTube app.

Backstory

For a few years, YouTube had been testing 2K/4K resolutions on iOS as A/B (Alpha/Beta testing). The first group of users will see 2K/4K options while the others won't. There are certain prerequisites for those options to show:

  1. Whether the iOS device support VP9 video decoding, which implies on Apple's end to be at least on iOS 14, and later YouTube says iOS 15 is the minimum requirement.
  2. Whether YouTube decides on their end to include those options for that particular iOS device. The obviously slow devices are excluded.

YTUHD attempts to bypass those restrictions for all 64-bit devices running iOS 11 or higher.

VP9

Hardware accelerated VP9 decoder is technically added as of iOS 14 and YouTube has been utilizing it through a private entitlement com.apple.coremedia.allow-alternate-video-decoder-selection (All apps are equal is a lie). This decoder handles up to 4K, although not all devices that can run iOS 14 get this decoder. The old iPhone SE (1st gen) is one example that hardware VP9 decoder is entirely absent from the firmware file.

Those old devices don't get AppleAVD driver which is essential for VP9 decoding to work. Such attempt to load VP9 decoder (inside AppleAVD driver) from /System/Library/VideoDecoders/AVD.videodecoder (provided that you can extract that from dyld_shared_cache of a new device) will result in AVDRegister - AppleAVDCheckPlatform() returned FALSE. There is also no reliable way to extract this decoder so that it can be successfully loaded on a device as if the binary is standalone and not embedded inside a shared cache.

Server ABR

If you look at the source code, there is an enforcement to not use server ABR. The author has yet to figure out what ABR stands for but its purpose is to fetch the available formats (resolutions) of a video. When the flag is set to true, it's entirely up to YouTube server to respond to YouTube app of the video formats the user can be served. YTUHD has no control over that and has to disable it and relies on the client code that allows for 2K/4K formats.

iOS version

The history has shaped YTUHD to spoof the device as iOS 15 (or higher) for those running lower. The user agent gets changed from spoofing for YouTube server to respond with VP9 formats and all the goodies.

Sideloading

It's been reported that the sideloaded version of YouTube will not get 2K/4K even with YTUHD included. This is because of a big reason: VP9. Normally when an app is sideloaded, the private entitlements get removed (including com.apple.coremedia.allow-alternate-video-decoder-selection) and the app won't be allowed to access the hardware VP9 decoder. There is no known solution to bypass this, unless you use TrollStore which allows for practically any entitlements, including the aforementioned, to be in your sideloaded app.

ytuhd's People

Contributors

5jd avatar ajb3296 avatar dayanch96 avatar deci8belios avatar erspielthd avatar gototheskinny avatar hamachi25 avatar harumatsu9124 avatar hiepvk avatar imadofficial avatar koles13 avatar ludovi-com avatar matt911 avatar moh-ter avatar poomsmart avatar qnblackcat avatar sarahh12099 avatar skeids avatar thunderz2016 avatar victorxd70 avatar yswag avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ytuhd's Issues

Feature request

Hi, can you make able to select specific quality in quality selector in YT Settings instead of Auto/Higher/Data Saver for WiFi and Mobile?

Stuttering

Currently I’m experiencing huge stuttering on my iPhone 12 Pro Max when I Switch to 2160p.

Sideloadable ipa

Hi , can you make a sideloadable ipa (for people who can’t jailbreak) ? Thanks in advance

Enabeling vp9 withoud correct entitlements causes random language track to be used by default for the video

Tottaly understand if this will get closed under will not fix!

But i've noticed after some trial and error that when visiting a youtube video which has multiple audio tracks:
Stop This Train, Win a Lamborghini from MrBeast
When i enable VP9 withoud the right entitlemets (only have a rootfull device). When i play the video it plays it in bengali voice over, instead of the default english. The language seems to be random if you choose a different mr beast video.

Reverting this option and restarting the app fixes this.
Other video's which don't have multiple audio tracks don't have this issue.

I do want to clarify that i'm using a modified version: ytliteplus latest version. But i haven't been able to find a way to easily compile this ipa with only ytuhd.

I'm curious if you have the same issue aswell, using only your tweak, on the latest yt version and with the same entitlements.
I'm on an ipad 9th gen ios 17.4 using the latest ytuhd and yt version.

Enabling VP9 leads to crashes.

I've sideloaded YTLite 4.0.1 on 19.22.6 which worked fine a few hours ago with YTUHD enabled. I've tried to disable all other tweaks to sort out the problem and found out its YTUHD. Only selected option was "Enable VP9" - not "VP9 for all".

Device: 15 Pro Max
OS: 17.5.1

Crash Log:
YouTube-2024-06-10-155237.txt

Doesn’t work sideloaded

Yesterday I sideloaded latest YouTube with cercube tweak and YTUHD tweak. I could stream 4K. However this morning I can't switch to 4K or 1440p. I tried enabling 1440p in cercube settings and highest stream in YouTube settings. How can I help trouble shoot this?

iOS 14.7 release and iPhone 11 Pro Max.

Also is there a way for cercube settings to have 4K as a forced stream toggle?

(uYouPlus TrollStore) VP9 randomly stops working

Device: iPhone 12 w/ios15.0

When you're not watching in 1440p or 4k(these resolutions only have vp9 or av1 coded versions) randomly video turns into h264 avc!
Can you please look into this issue?

[Enhancement] Way to only enable with resolutions > 1080p

Right now, as I saw from the "stats for nerds", VP9 is toggled globally. I think it would be ideal for jailed devices if there was an additional toggle to enable VP9 only when 2/4K are selected, not sure if it's feasible but this way one could keep 1080p (h264) as default to reduce battery usage, and select a higher resolution only when needed (e.g. when watching something in full screen).

4k Not Working.

I have an iphone 11 (not jailbroken) with CercubePlus installed but the app doesn't play any resolution above 1080p. Can this be fixed?

How to use these code?

I downloaded YouTube app with ytuhd1.5.1,but when I watch 2k and4k
Video,it always slow and delay.How can I fix it?my phone is iPhoneX,15.4.1

Youtube app crash

Hello guys,

Youtube app crashes when having both YTUHD and Cercube.
Can you please look into it since both are essential.

Device: ipad pro 10.5 Wifi
Firmware: 13.6

Thank you for your great work!!
I’ve been dreaming for UHD on ios since forever.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.