"The StandaloneWindow module provides a way to create a separate window to display custom content. You are able to control a full-sized webview inside the window, therefore you can use HTML, CSS, and advanced techniques like WebGL to render the contents." [1]
So... someone could make a Webamp[2] plugin?
And Butterchurn[3] for viz? (Assuming one can plumb in a compatible audio node)
The plugin architecture here reminds me of what happened with VS Code - once you give users a proper JavaScript API and decent documentation, the community starts solving problems you never even knew existed. But there's something particularly clever about IINA's approach: they're essentially turning every media file into a potential canvas for interactive experiences.
A lesson learned over and over again is that you can build amazing things with tightly coupled plugins, but once you have about three of them upgrading or changing anything gets kind of impossible - Hyrum's law. On the other hand, loosely coupled out-of-process plugins are a lot less flexible, but tend to work a lot better and more reliably, at the cost of more up-front engineering and overall investment. Assuming that what they can do is sufficient to work.
Consider that e.g. kubernetes has basically just one actual core component (the API server) and everything else is loosely-coupled plugins. Alternatively, consider any of the projects stuck for 15 years on Python 2 because that's what their plugin system was in 2009. These are two points on a spectrum.
Happy* IINA user here. I use youtube keybindings + 'video speed controller' (chrome extension) keybindings for quick speed up/down/reset and skipping back/forward through videos).
* It did have a problem with crazy power consumption, but I think that's been fixed (haven't noticed the problem for a few months).
Did you have problem with hw acceleration? I noticed that 4k videos can be a little choppy if hw decoding is on, with sw decoding they are fine but battery life is horrible then.
I just recently switched to Infuse 8 after buying a couple Apple TV boxes. The network sharing + iCloud timestamp syncing between my phone/macbook/multiple TVs is the best thing ever. My macbook is basically a media server for every device in my house. No need for annoying plex servers.
It's a player of the ffmpeg lineage; a GUI frontend for mpv. If you use mpv or some frontend (e.g., SMPlayer, Celluloid, or Haruna) on other platforms, IINA is a natural choice on macOS.
It's free software, it's keyboard friendly, it supports more of less every format, and it blends into the OS's native desktop environment. I don't have an eye for design, but it seems good to me. If there's a better choice for local multimedia playback on macOS, I don't know what that is.
(It seems the only other real contender on the backend is VLC, which is likewise excellent software.)
I don't know. I have a medical light sensitivity problem that makes most HDR content physically painful for me unless I manipulate picture settings to reduce peak brightness, backlight, and/or contrast in various ways. Between my light sensitivity and my progressive colorblindness, I don't get as much out of HDR as most people do, so I just turn it off where possible.
Maybe some day when I have more external displays with OLED or something else that can do millions-to-one contrast ratios, I'll play around with HDR and see if I can find a way to reliably make it comfortable, but for now I don't own any-- it's just the built-in displays of my mobile devices, and I spend as much time as possible on much larger screens because I also have visual acuity problems.
Another vote for Infuse. In my experience Infuse 8 handles HDR and color management correctly (1:1 with Safari or QuickTime), while IINA does not (too dark).
Infuse is good, but it does not feel so well-polished for the desktop, for example, some windows for pop-up could have been a real window, but were a pop-up that blocks the main player.
This looks amazing, I’m just desperately trying to think of a use case for a universal media player that built-in tools couldn’t have handled in the last few years. VLC used to be a staple on my machines, but it’s really been a while since I’ve seen an obscure media file…
I’ve had less files that refuse to play using iina then vlc, also iina had none of that weird grey artifacting you get with vlc skipping/scrubbing through video (like actually how is that still a problem with vlc and vlc only). Those are the main technical reasons, but the ui is also much better/native feeling
IINA is the kind of app that disappears into the background. I've used it for years and almost forgot it's not a part of the OS.
"The StandaloneWindow module provides a way to create a separate window to display custom content. You are able to control a full-sized webview inside the window, therefore you can use HTML, CSS, and advanced techniques like WebGL to render the contents." [1]
So... someone could make a Webamp[2] plugin?
And Butterchurn[3] for viz? (Assuming one can plumb in a compatible audio node)
[1] https://docs.iina.io/interfaces/IINA.API.StandaloneWindow
[2] https://docs.webamp.org/docs/intro
[3] https://github.com/jberg/butterchurn
The plugin architecture here reminds me of what happened with VS Code - once you give users a proper JavaScript API and decent documentation, the community starts solving problems you never even knew existed. But there's something particularly clever about IINA's approach: they're essentially turning every media file into a potential canvas for interactive experiences.
Any general tips on the construction of a great plugin system? I imagine most sort of follow the same principles
A lesson learned over and over again is that you can build amazing things with tightly coupled plugins, but once you have about three of them upgrading or changing anything gets kind of impossible - Hyrum's law. On the other hand, loosely coupled out-of-process plugins are a lot less flexible, but tend to work a lot better and more reliably, at the cost of more up-front engineering and overall investment. Assuming that what they can do is sufficient to work.
Consider that e.g. kubernetes has basically just one actual core component (the API server) and everything else is loosely-coupled plugins. Alternatively, consider any of the projects stuck for 15 years on Python 2 because that's what their plugin system was in 2009. These are two points on a spectrum.
With LLMs being a thing now, plugin systems like this can bring a lot of value to users, assuming the docs are easily LLM readable.
I wish more apps had Lua or JS sandboxes for plugins.
https://rickcarlino.com/notes/ideas/using-llms-to-create-end...
> IINA - The modern media player for macOS.
Happy* IINA user here. I use youtube keybindings + 'video speed controller' (chrome extension) keybindings for quick speed up/down/reset and skipping back/forward through videos).
* It did have a problem with crazy power consumption, but I think that's been fixed (haven't noticed the problem for a few months).
Did you have problem with hw acceleration? I noticed that 4k videos can be a little choppy if hw decoding is on, with sw decoding they are fine but battery life is horrible then.
A new MacOS player it seems?
I just recently switched to Infuse 8 after buying a couple Apple TV boxes. The network sharing + iCloud timestamp syncing between my phone/macbook/multiple TVs is the best thing ever. My macbook is basically a media server for every device in my house. No need for annoying plex servers.
It's a player of the ffmpeg lineage; a GUI frontend for mpv. If you use mpv or some frontend (e.g., SMPlayer, Celluloid, or Haruna) on other platforms, IINA is a natural choice on macOS.
It's free software, it's keyboard friendly, it supports more of less every format, and it blends into the OS's native desktop environment. I don't have an eye for design, but it seems good to me. If there's a better choice for local multimedia playback on macOS, I don't know what that is.
(It seems the only other real contender on the backend is VLC, which is likewise excellent software.)
>It seems the only other real contender on the backend is VLC
Does VLC already support HDR content on MacOS? I switched to IINA because of that omission.
I don't know. I have a medical light sensitivity problem that makes most HDR content physically painful for me unless I manipulate picture settings to reduce peak brightness, backlight, and/or contrast in various ways. Between my light sensitivity and my progressive colorblindness, I don't get as much out of HDR as most people do, so I just turn it off where possible.
Maybe some day when I have more external displays with OLED or something else that can do millions-to-one contrast ratios, I'll play around with HDR and see if I can find a way to reliably make it comfortable, but for now I don't own any-- it's just the built-in displays of my mobile devices, and I spend as much time as possible on much larger screens because I also have visual acuity problems.
IINA has been around for quite a while, it's a front end for mpv. Pretty much Just Werks, it's my standard video playback client.
Ah, I'll try it out thanks. I tried out https://mpv.io/ but wasn't a big fan.
mpv is a nice piece of tech, a solid foundation for a player. IINA agapts it to feel native on macOS, and it does amazing job at that.
Not that new, I've been using IINA for years! It's pretty good.
Another vote for Infuse. In my experience Infuse 8 handles HDR and color management correctly (1:1 with Safari or QuickTime), while IINA does not (too dark).
Infuse is good, but it does not feel so well-polished for the desktop, for example, some windows for pop-up could have been a real window, but were a pop-up that blocks the main player.
This looks amazing, I’m just desperately trying to think of a use case for a universal media player that built-in tools couldn’t have handled in the last few years. VLC used to be a staple on my machines, but it’s really been a while since I’ve seen an obscure media file…
I think QuickTime still doesn’t play MKV? Anyways, I usually use IINA just for the keybindings.
i've used VLC, but i prefer this simplicity.
hmm I'm confused, whats the sell with inaa compared to vlc?
I’ve had less files that refuse to play using iina then vlc, also iina had none of that weird grey artifacting you get with vlc skipping/scrubbing through video (like actually how is that still a problem with vlc and vlc only). Those are the main technical reasons, but the ui is also much better/native feeling
IINA uses mpv so the compatiblity is much higher. VLC is kinda bad but works for "most people".
Native UI, blending into OS so you stop noticing it.
Honestly I've been having more problems with vlc than with mpv, on Linux and macOS.