YouTube uses lower quality options on browsers running on Arm-based systems — misreporting as an x86 CPU appears to be a widespread browser fix

https://lemmy.nz/post/4381230

YouTube uses lower quality options on browsers running on Arm-based systems — misreporting as an x86 CPU appears to be a widespread browser fix - Lemmy NZ

this prolly wasnt a bad decision early on... why pushing something to a population who cant utilize it... but shit changes fast, google.
The weirder thing is Firefox on ARM being detected as a HiSense TV. I did a cursory search to see if HiSense ever used Firefox OS on the TV and it doesn’t seem like it. Panasonic seemed to be the only manufacturer using it.
Hector Martin (@[email protected])

Attached: 3 images Today I learned that YouTube is deliberately crippling Firefox on Asahi Linux. It will give you lowered video resolutions. If you just replace "aarch64" with "x86_64" in the UA, suddenly you get 4K and everything. They literally have a test for "is ARM", and if so, they consider your system has garbage performance and cripple the available formats/codecs. I checked the code. Logic: Quality 1080 by default. If your machine has 2 or fewer cores, quality 480. If anything ARM, quality 240. Yes, Google thinks all ARM machines are 5 times worse than Intel machines, even if you have 20 cores or something. Why does this not affect Chromium? **Because chromium on aarch64 pretends to be x86_64** `Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36` 🤦‍♂️​🤦‍♂️​🤦‍♂️​🤦‍♂️​🤦‍♂️​ Welp, guess I'm shipping a user agent override for Firefox on Fedora to pretend to be x86. **EDIT**: The plot thickens. Pretending to be ChromeOS aarch64 *still gets 4K*. Specifically: `Mozilla/5.0 (X11; CrOS aarch64 10452.96.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36` still works. **EDIT 2**: OK, so the plot *really* thickens now. Chrome is not affected even if it claims to be aarch64. Turns out there is another codepath: apparently YouTube thinks aarch64 Firefox is... a HiSense TV?!?!?!?! Specifically, model 65a67gevs...????? This is *server-side* sniffing now and it's *specifically* looking for Firefox aarch64 (or at least "Gecko and not Chrome/CrOS/something else known to pretend to be Gecko"). And it's the "TV" platform that is triggering the resolution crippling.

Treehouse Mastodon
Could be that the developers for the HiSense TV just copy-pasted whatever UA into their browser and called it a day.
It seems somewhat damning that Google’s own browser had a workaround for this, though

was it ignorance or malicious intent?

if it was a person, i would try and assume ignorance.. im not sure google the company deserves such respect

Or it’s a company so fuckoff huge that one department (Chrome on Android) couldn’t get a bug report escalated in another department (YouTube). Eventually they just put in a UA workaround while the bug rots in a backlog somewhere. Common enterprise bullshit.

Or the Chrome on Android team didn’t even bother reporting the issue to YouTube and just threw in a cheap workaround. Also common enterprise bullshit.

Bingo. When I was a Chrome developer working on video stuff, we mostly treated YouTube like a separate company. Getting our stuff to work with theirs was a priority, but no more than, say, Netflix.
Use piped
They still have no app. Viewing anything on that site through your mobile browser sucks ass.
Piped is based on NewPipe's extractor.
If you want an app it's available on f-droid or with sponsor block on Izzy's repo.
NewPipe for android
Tried that, the interface wasn’t any better. Also, you couldn’t log into an account and get recommendations. I use Revanced extended.
Grayjay

no.

Grayjay is proprietary. Use Newpipe, which is what Piped’s extractor is based on.

Wait, it is? Thanks for the heads up !

github.com/futo-org/grayjay-android

Grayjay is open source.

GitHub - futo-org/grayjay-android: Read-only mirror of Grayjay repo for issue tracking

Read-only mirror of Grayjay repo for issue tracking - futo-org/grayjay-android

GitHub
Nope, the source code is available but it is proprietary software because the license forbids distributing modified versions, among other things
Shit, why source available then ? What are they trying to accomplish ?
Thank God someone finally said something! There was probably a Lemmy user somewhere who hadn’t heard of it yet.
What the heck…? My CPU is none of their business.
If you use any Google service, everything of yours is your business. You are their product, voluntarily.
No.
By using their services, you pretty much agree.
Does this apply to Windows on ARM as well, or is it just Linux specifically for some reason?
It’s a processor variable, not OS
That's what I figured, but every article I've seen on this calls out Linux specifically. I'll have to give it a try from my Surface Pro X when I get home and test.
UA sniffing again? What was it with feature detection and so on?
Does this include Apple Silicon Macs? That would be a bold move.
Nope, my work Mac has 1080p\4K playback no problem.

This issue was detected when running Firefox on Linux on Apple silicon. Firefox on Mac just identifies as x64.

It’s probably not on purpose by YouTube. It’s stupid they put restrictions on some heuristics to begin with but maybe because otherwise people would think YouTube is not loading properly while it’s the software decoding on the not capable arm PC that can’t handle the resolution.

Sounds like a raspberry thing

Seems like my Samsung TV app is being hit by stuff too, I had 5 unskippable ads and can’t seem to get stable 1080p at 6fps any more despite gigabit fibre and cat6. Meanwhile getting 4k on my YouTube app on Android on WiFi.

Go figure.

YouTube is so desperate to fight this war that they’re harming legitimate watchers meanwhile my rockpi running Android TV seems to keep running sTube just fine.

The nic on TVs tend to be awful. I can barely break 100mbps on my lg wired or wireless.
Enshittification intensifies!

Repeat after me kids. It’s not an “oversight”, or “mistake”, or “bug”, or “misunderstanding”…

IF

IT

KEEPS

HAPPENING