Live data from Hacker News

Yt-dlp: External JavaScript runtime now required for full YouTube support

github.com

361–370 of 646 posts

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#361

> if using QuickJS, version 2025-4-26 or later is strongly recommended for performance reasons Oh, I wonder if they got performance to a reasonable level then? When the external JS requirements were first announced, they said it took upwards of half an hour, and a QuickJS developer wrote in the ticket that they didn’t see a path towards improving it significantly enough.

It wasn't a QuickJS developer but developer from a fork: https://github.com/bellard/quickjs/issues/445

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#362

Earlier quoted context omitted.

What you’re describing with QuickTime was a proprietary nightmare that didn’t even work correctly across Apple products, let alone Microsoft or Linux. Today with modern tools like VLC or MPV and ffmpeg nearly anything can be viewed, streamed, or locally saved by your average user with basic Google search skills. And the number of free and paid video editing tools as far beyond what we ever had in the past. Then there…

> What you’re describing with QuickTime was a proprietary nightmare that didn’t even work correctly across Apple products, let alone Microsoft or Linux. This is such a deep misunderstanding of QuickTime that it's hard to know where to begin. QuickTime supported standards whenever possible, but you must know that QuickTime pioneered digital video and audio before open media standards were ubiquitous, and was in fact t…

You may be "technically correct" (the best kind of correct), but holy je-BUS was QT NOT user-friendly nor cross-platform-friendly at the height of its popularity.

There's a reason that once alternatives became available, users left QT as quickly as they could.

QT was pioneering A/V solutions; I won't argue against that. So was Flash, so was Shockwave, so was RealMedia, and remember the horror that was Windows Media Player (from the Win98 era)?

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#363

Even when the so called "ad-pocalypse" happened, this wasn't as big of an issue as it is today. What's going on with Google being extra stingy seems to correlate well with the AI boom (curse). I suspect there are companies running ruthless bots scraping TBs of videos from YouTube. Not just new popular videos that are on fast storage, but old obscure ones that probably require more resources to fetch. This is unnatura…

This will happen in the real world when the robot mass production gets going. We'll climb the exponential till we run into the resource limits of the planet at meteoric speed.

Yes, the regulators will try and manage it, but eventually every decision about who can use the robot/AI genie for what will go through them because of the robot/AI genie's enormous strain on natural resources, and you'll be back to a planned economy where the central planners are the environmental regulators.

There are hard decisions to make as well. Who gets to open a rare earth processing plant and have a tailing pond that completely ecologically destroys that area? Someone has to do it to enable the modern economy. It's kind of like we won't have a good AI video generator and will always be behind China if some Youtube creators refuse to license their content for AI training. Same goes for the rare earth processing tailing pond. Nobody can agree on where it's going to go, so China wins.

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#365

Earlier quoted context omitted.

And it's an entirely useless effort. No idea how it is done but the internet is full 4k rips.

Breaking HDCP is a lot easier than breaking the other things. You don't have to attack the torment nexus directly. This is not the most ideal option but it is information theoretically correct assuming your capture rig is set up properly.

It would be harder to break HDCP and you wouldn't even get the original compressed media content. It's a worse idea.

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#366
post #52

Earlier quoted context omitted.

They find devices that are easy to hack (and I mean rip and tear) and extract the decryption keys from each of them, from what I have heard cheap chinese tvs and set top boxes, they extract the keys from the chips (hardware hacking, heard some even use microscopes to read the keys by hand), and then use them to decrypt streams, I heard that they catch them pretty fast to they use like 1 device per season. This is why…

The really shitty thing is that vulnerable devices get blacklisted en masse, so all legitimate users get stuck with 480p video content on streaming services. The Nexus 5 got this treatment, as I understand it, because it was too easy to extract the keys.

It provides a good incentive for manufacturers to invest into security for their devices.

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#367

Earlier quoted context omitted.

> Although it will be a lot slower, I’m not clear just how slow. Around 30-50x slower than V8 (node/deno). I've been recently benchmarking a lot of different engines: https://ivankra.github.io/javascript-zoo/

> Around 30-50x slower than V8 (node/deno). A solver running at 50ms instead of 1ms I would say is practically imperceptible to most users, but I don't know what time span you are measuring with those numbers.

My page is about generic JS benchmarks. Just did a quick run with a sample javascript challenge I got via yt-dlp (https://raw.githubusercontent.com/ivankra/javascript-zoo/ref...):

  $ time ./v8 /bench/yt-dlp.js | md5sum -
  a730e32029941bf1f60f9587a6d9554f  -
  real 0m0.252s
  user 0m0.386s
  sys 0m0.074s

  $ time ./quickjs /bench/yt-dlp.js | md5sum -
  a730e32029941bf1f60f9587a6d9554f  -
  real 0m2.280s
  user 0m2.507s
  sys 0m0.031s
So about 10x slower for the current flavor of YouTube challenges: 0.2s -> 2.2s.

A few more results on same input:

  spidermonkey 0.334s
  v8_jitless 1.096s => about the limit for JIT-less interpreters like quickjs
  graaljs 2.396s
  escargot 3.344s
  libjs 4.501s
  brimstone 6.328s
  modernc-quickjs 12.767s (pure Go port of quickjs)
  fastschema-qjs 1m22.801s (Wasm port of quickjs)
  boa 1m28.070s
  quickjs-ng 2m49.202s

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#368

Earlier quoted context omitted.

Because taking money from a con artist to deliver marks based on profiles you've collected on everyone to see who's most likely to be taken in makes you an accessory if not accomplice to fraud. Businesses (in particular the literal biggest ad agency in the world) should know who they are partnering with. Not vetting the people they're allowing to place ads is at best negligent. The fact that the FBI warns people to u…

That's a fair point. Thanks for the detailed response. I'm curious as to what the scam ads you mention actually are. I use an adblocker most of the time, and most of the adverts that I do see are annoying but fairly innocuous. Furniture, insurance, charter schools, social media apps, shitty mobile games, et cetera. I've seen plenty of slightly scummy adverts, but I can't recall seeing many that are really harmful or…

I also use a malware blocker at all times (to not have one on all computers would be like running an open telnet server: insane), so can't say I have personal experience with it, but there is plenty of anecdotal discussion about blatant financial scams, e.g. [0][1]. That first one OP claims Youtube acknowledged receiving their report, investigated it, and determined that the ad was acceptable. If true, they are admitting they are specifically aware of these ads and that users are raising complaints about them (they don't exist now, but a court could subpoena information about whether OP's story is true).

Additionally, Google has a well known policy of allowing people to take out ads (which look exactly like a search result) for someone else's trademark (defeating the entire purpose of a trademark), and the FBI has a frequently referenced notice[2] to US citizens to be aware of fraud where scammers take out impersonating ads on "Internet search results" to e.g. lead people to the wrong site for financial institutions. It absolutely blows my mind that no one is prosecuted for participating in this.

[0] https://old.reddit.com/r/youtube/comments/18gjiqy/youtube_do...

[1] https://www.reddit.com/r/Scams/comments/1h6rdtj/massive_incr...

[2] https://www.ic3.gov/PSA/2022/PSA221221

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#369
Frankly I think this is inevitable- it's practically one of the laws of computing: any sufficiently complex system will ultimately require a turing-complete language regardless of its actual necessity.

See also: """Zawinski's Law states: "Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can."""" and """Greenspun's tenth rule of programming is an aphorism in computer programming and especially programming language circles that states:[1][2]

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp."""

(from the above I conclude that if you want to take over the computer world, implementing a mail reader with an embedded Lisp).

Re: Yt-dlp: External JavaScript runtime now required for full YouTube support

#370
post #36

I use yt-dlp (and back then youtube-dl) all the time to archive my liked videos. Started back in around 2010, now I have tens of thousands of videos saved. Storage is cheap and a huge percent of them are not available anymore on the site. I also save temporary videos removed after a time for example NHK honbasho sumo highlights which are only available for a month or so then they permanently remove them.

What is your storage setup, do you have lots of hard drives, or does this go online somewhere?
Post reply on HN