Skip to content

Conversation

@pantheraleo-7
Copy link

@pantheraleo-7 pantheraleo-7 commented Oct 16, 2025

The plugin installs the wrong release artifact.

It should install yt-dlp_macos - which is a standalone executable of size 34.1 MB. It also supports auto-updates with yt-dlp -U. This is the same executable that comes bundled with IINA.

What the plugin currently installs is yt-dlp_macos.zip - which is a zipped directory of size, when unzipped, 143.3 MB!

@lhc70000
Copy link
Member

lhc70000 commented Nov 2, 2025

It is intended to address this problem: yt-dlp/yt-dlp#10425.

yt-dlp_macos is a pyinstaller-bundled "onefile" executable, which means every time you execute it, it first needs to unpack its contents (~30-50MB of shared libraries and script files) into a temporary directory before yt-dlp itself is executed. These temp files are cleaned up once the executable has finished, so the security scanning would be invoked on every run, not just the first run.

The yt-dlp_macos standalone binary can randomly add ~5 seconds of lag when opening the video. The unzipped version is much faster according to tests.

@pantheraleo-7
Copy link
Author

Performance regression is unacceptable, but the current state we're in is not desirable either. I'll rework this PR for another (shorter, immediate) solution.

One thing I found out is that the (un)zipped yt-dlp also supports self-update with yt-dlp -U, we can leverage that. Now only remaining problem is bootstrapping - how do we get the first yt-dlp, or more specifically, how/what do we ship with IINA?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants