PoomSmart / YTUHD

Unlock 1440p and 2160p resolutions in iOS YouTube app.
MIT License
36 stars 25 forks source link

Stuttering in YTUHD 2160p but perfect in vanilla YouTube #6

Open UprisingPulse opened 2 years ago

UprisingPulse commented 2 years ago

Hi, I got iPhone 13 Pro Max, in the vanilla YouTube app from appstore I have the option to play 2160p resolution smoothly, however when I sideloaded YouTube with YTUHD, when I choose 2160p it stutter and buffer.

PoomSmart commented 2 years ago

That makes sense. Your sideloaded version of YTUHD probably doesn't include VP9 entitlement spoofing.

UprisingPulse commented 2 years ago

So you mean the problem is with the YouTube ipa itself or the tweak?

I tried it on my iPad Pro 2020 also same results, stuttering and buffering for anything above 1440p or above 1080 HDR.

PoomSmart commented 2 years ago

The issue is that you didn't compile YTUHD for use with your IPA with VP9 entitlement spoofing code uncommented.

UprisingPulse commented 2 years ago

Affirmative. And how can I do that?

PoomSmart commented 2 years ago

@UprisingPulse Assuming you can compile YTUHD from source, line 6-7 and line 60-65 are to be uncommented from Common.x before you compile the tweak.

UprisingPulse commented 2 years ago

I'm getting this error

> Making all for tweak YTUHD… ==> Compiling Common.x (arm64)… Common.x:61:10: error: implicit declaration of function 'CFStringEqual' is invalid in C99 [-Werror,-Wimplicit-function-declaration] if (CFStringEqual(entitlement, CFSTR("com.apple.coremedia.allow-alternate-video-decoder-selection"))) { ^ Common.x:61:10: note: did you mean 'CFStringPad'? /Users/user/theos/sdks/iPhoneOS14.4.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFString.h:666:6: note: 'CFStringPad' declared here void CFStringPad(CFMutableStringRef theString, CFStringRef padString, CFIndex length, CFIndex indexIntoPad); ^ 1 error generated. make[3]: *** [/Users/user/YTUHD/ytuhd/.theos/obj/debug/arm64/Common.x.a713ed27.o] Error 1 make[2]: *** [/Users/user/YTUHD/ytuhd/.theos/obj/debug/arm64/YTUHD.dylib] Error 2 make[1]: *** [internal-library-all_] Error 2 make: *** [YTUHD.all.tweak.variables] Error 2

PoomSmart commented 2 years ago

https://github.com/PoomSmart/PSHeader/blob/master/Misc.h#L21

UprisingPulse commented 2 years ago

Making all for tweak YTUHD… ==> Linking tweak YTUHD (arm64)… Undefined symbols for architecture arm64: "_SecTaskCopyValueForEntitlement", referenced from: __logosLocalCtorc16daf74 in Common.x.a713ed27.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: [/Users/user/ytuhd/.theos/obj/debug/arm64/YTUHD.dylib] Error 1 make[2]: [/Users/user/ytuhd/.theos/obj/debug/arm64/YTUHD.dylib] Error 2 make[1]: *** [internal-library-all] Error 2 make: *** [YTUHD.all.tweak.variables] Error 2 user@MacBook-Pro-User ytuhd % -v zsh: command not found: -v

UprisingPulse commented 2 years ago

Yes I have the latest build, I will reinstall it and try to work it out Thank you very much, it’s working perfectly

UprisingPulse commented 2 years ago

Sorry to bother u again, but it’s not working anymore, even with ur deb and I complied you source and injected it, it stopped working, it stutter like before on 2160p resolution

PoomSmart commented 2 years ago

Reopen for later investigation.

UprisingPulse commented 2 years ago

I injected the deb you sent above to youtube 16.54.5, you can see the stutter after sideloading and enabling vp9 and 2160p res. https://github.com/UprisingPulse/test2/releases/download/ww/YouTube_16.45.4+ytuhd.ipa

And this one I injected it with my complied deb https://github.com/UprisingPulse/test2/releases/download/mm/YouTube_16.45.4+ytuhdm.ipa

PoomSmart commented 2 years ago

@UprisingPulse With the latest version of everything, does it work? Can you also post the screenshot of "stats for nerds" for the video you are testing with?

UprisingPulse commented 2 years ago

Just tried, no it still doesn't work, I have the latest YouTube with the latest everything "tweaks".

This is the screenshots: L4z7l4C ez65rKB

UprisingPulse commented 2 years ago

user@MacBook-Pro-User ~ % cd /Users/user/YTUHD user@MacBook-Pro-User YTUHD % make SIDELOADED=1

Making all for tweak YTUHD… ==> Linking tweak YTUHD (arm64)… Undefined symbols for architecture arm64: "_SecTaskCopyValueForEntitlement", referenced from: __logosLocalCtor199eaf8d in Common.x.f67ceb60.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[3]: [/Users/user/YTUHD/.theos/obj/debug/arm64/YTUHD.dylib] Error 1 make[2]: [/Users/user/YTUHD/.theos/obj/debug/arm64/YTUHD.dylib] Error 2 make[1]: *** [internal-library-all] Error 2 make: *** [YTUHD.all.tweak.variables] Error 2 user@MacBook-Pro-User YTUHD %

Got this error again. using latest THEOS and 15.0 SDK

PoomSmart commented 2 years ago

Copy Xcode’s SDK into $THEOS/sdks and then add PrivateFrameworks from the latest SDK in theos/sdks repo to it.

UprisingPulse commented 2 years ago

Copied Xcode SDK (15.0) to sdks and added PrivateFrameworks from the latest SDK 14.4 from theos repo. Still getting the same error.

PoomSmart commented 2 years ago

@UprisingPulse Could you try adding a framework in Makefile like this:

$(TWEAK_NAME)_FRAMEWORKS = Security
PoomSmart commented 2 years ago

Also, this dylib you may use: https://github.com/qnblackcat/uYouPlus/files/7738656/YTUHD.dylib.zip

UprisingPulse commented 2 years ago

Tried my own complied deb and yours dylib

I got this in both: DE8B0456-B368-4E43-86DA-875645CD60E7

still it doesn’t show HV but not stuttering for now, need to test it longer.

UprisingPulse commented 2 years ago

It still stuttering

F3FEC6E5-6F0F-4363-B433-4CC66F91273C

qnblackcat commented 2 years ago

For me, it only happens when playing at 2160p. 1440p is fine. YTUHD 1.2.6