IINA Plugin System Overview The IINA plugin system, introduced in version 1.4.0, lets users extend the functionality of the IINA media player using JavaScript. Plugins can control playback, access the mpv API, interact with the network and file system, add custom UI elements, and more. --- Key Features Extend playback controls and window features. Access advanced mpv API properties and hooks. Register event listeners for IINA and mpv events. Make HTTP and XMLRPC requests. Customize playlist management and add context menu items. Integrate custom subtitle downloaders with IINA UI. Add menu items with keyboard shortcuts under the Plugin menu. Render custom webview-based overlays on videos. Add sidebar tabs and standalone windows with webview content. Control multiple player instances via a global controller. Access and modify filesystem and sandboxed files. Manage preferences and customize settings panels. Display system dialogs and run custom executables. Print debug logs accessible from IINA’s log viewer. --- Example Plugins Display Video Title Overlay Shows the current video title in a large font overlay. Auto Minimize on Pause Minimizes the window when playback is paused, resumes on restore. --- Getting Started The iina-plugin command line tool is included with IINA to help create, build, and run plugins. Comprehensive documentation with tutorials and API references is available at docs.iina.io. Additional resources: Official User Scripts plugin: Install with iina/iina-plugin-userscript for easy code snippet use. TypeScript definitions: Included automatically when creating a new plugin for type safety. --- Additional Info The plugin system enables powerful and concise code customization to tailor IINA exactly to your needs. Source code for the website and contributions are hosted on GitHub. The website uses icons from Font Awesome under CC BY 4.0 license. Translation contributions are welcome. --- This summary consolidates all key information about the IINA plugin system, its capabilities, examples, resources, and ways to get started—so you don’t need to reference the original page.