IINA is the modern video player for macOS.

Related tags

Video iina
Overview

IINA

IINA is the modern video player for macOS.

Website · Releases · Telegram Group


Features

  • Based on mpv, which provides the best decoding capacity on macOS
  • Designed with modern versions of macOS (10.11+) in mind
  • All the features you need for video and music: subtitles, playlists, chapters…and much, much more!
  • Force Touch, picture-in-picture and advanced Touch Bar support
  • Customizable user interface including multiple color schemes and on screen controller (OSC) layout positioning
  • Standalone Music Mode designed for audio files
  • Video thumbnails
  • Online subtitle searching and intelligent local subtitle matching
  • Unlimited playback history
  • Convenient and interactive settings for video/audio filters
  • Fully customizable keyboard, mouse, trackpad, and gesture controls
  • mpv configuration files and script system for advanced users
  • Command line tool and browser extensions provided
  • In active development

Building

  1. IINA uses CocoaPods for managing the installation of third-party libraries. If you don't already have it installed, here's how you can do so:

    Using RubyGems

    $ sudo gem install cocoapods

    Using Homebrew

    $ brew install cocoapods
  2. Run pod install in project's root directory.

  3. Obtain the mpv libraries.

    IINA uses mpv for media playback. To build IINA, you can either fetch copies of these libraries we have already built (using the instructions below) or build them yourself by skipping to these instructions.

    Using the pre-compiled libraries

    1. Download pre-compiled libraries by running
    ./other/download_libs.sh
    1. Open iina.xcworkspace in the latest public version of Xcode. IINA may not build if you use any other version.

    2. Build the project.

    Building mpv manually

    1. Build your own copy of mpv. If you're using a package manager to manage dependencies, the steps below outline the process.

      With Homebrew

      Use our tap as it passes in the correct flags to mpv's configure script:

      $ brew tap iina/homebrew-mpv-iina
      $ brew install mpv-iina

      With MacPorts

      Pass in these flags when installing:

      # port install mpv +uchardet -bundle -rubberband configure.args="--enable-libmpv-shared --enable-lua --enable-libarchive --enable-libbluray --disable-swift --disable-rubberband"
    2. Copy the latest header files from mpv (*.h) into deps/include/mpv/.

    3. Run other/parse_doc.rb. This script will fetch the latest mpv documentation and generate MPVOption.swift, MPVCommand.swift and MPVProperty.swift. This is only needed when updating libmpv. Note that if the API changes, the player source code may also need to be changed.

    4. Run other/change_lib_dependencies.rb. This script will deploy the dependent libraries into deps/lib. If you're using a package manager to manage dependencies, invoke it like so:

      With Homebrew

      $ other/change_lib_dependencies.rb "$(brew --prefix)" "$(brew --prefix mpv-iina)/lib/libmpv.dylib"

      With MacPorts

      $ port contents mpv | grep '\.dylib$' | xargs other/change_lib_dependencies.rb /opt/local
    5. Open iina.xcworkspace in the latest public version of Xcode. IINA may not build if you use any other version.

    6. Remove all of references to .dylib files from the Frameworks group in the sidebar and drag all the .dylib files in deps/lib to that group.

    7. Drag all the .dylib files in deps/lib into the "Embedded Binaries" section of the iina target.

    8. Build the project.

Contributing

IINA is always looking for contributions, whether it's through bug reports, code, or new translations.

  • If you find a bug in IINA, or would like to suggest a new feature or enhancement, it'd be nice if you could search your problem first; while we don't mind duplicates, keeping issues unique helps us save time and considates effort. If you can't find your issue, feel free to file a new one.

  • If you're looking to contribute code, please read CONTRIBUTING.md–it has information on IINA's process for handling contributions, and tips on how the code is structured to make your work easier.

  • If you'd like to translate IINA to your language, please visit IINA's instance of Crowdin. You can create an account for free and start translating and/or approving. Please do not send pull request to this repo directly, Crowdin will automatically sync new translations with our repo. If you want to translate IINA into a new language that is currently not in the list, feel free to open an issue.

You might also like...
📽 A video player for SwiftUI, support for caching, preload and custom control view.
📽 A video player for SwiftUI, support for caching, preload and custom control view.

Features QuickStart Advances Installation Requirements License Demo Clone or download the project. In the terminal, run swift package resolve. Open Vi

FWVideoPlayer is video Player for iOS in Swift.

FWVideoPlayer Desc FWVideoPlayer is video Player for iOS in Swift. It can play video and audio. You can use it easy. Example To run the example projec

SuperVideoPlayer is video player in Objc.

SuperVideoPlayer Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements Installation S

iOS video player for trailer. You can customize layout for the control panel. Support PiP and DRM.

iOS video player for trailer. You can customize layout for the control panel. Support PiP and DRM.

360 video player for iOS written in swift - a subset of SceneKit that works
360 video player for iOS written in swift - a subset of SceneKit that works

DDDKit An open source library to support 360 videos and pictures. It's designed as a generic 3D library that you can use for much more! Example of use

YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app

YoutubeKit YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI to easily create Youtube applications. Important Ref

WatchTube: a standalone WatchOS youtube player utilizing Download API for search data and video streaming
WatchTube: a standalone WatchOS youtube player utilizing Download API for search data and video streaming

WatchTube is a standalone WatchOS youtube player utilizing Download API for sear

YHPlayer - An easy-to-use video player based on swift language
YHPlayer - An easy-to-use video player based on swift language

YHPlayer An easy-to-use video player based on swift language Features Plays loca

A fully functional short video app project.Record a six secends video while playing prank sounds.

prankPro A fully functional short video app project How to Install 1. use coconapod to init your xcode environment. 2. change the app-keys in `applica

Comments
  • [Feature request] Add HDR support

    [Feature request] Add HDR support

    MacBook Pro 2021 has support of HDR, but sadly IINA doesn't support it.

    There's a fork repo to add HDR support in IINA: https://github.com/anastasiuspernat/iina

    How about merge it?


    I have tried myself but the CI stuck with Can't find any online and idle self-hosted runner in the current repository, account/organization that matches the required labels: 'macos-arm64' Waiting for a self-hosted runner to pickup this job...

    Have no idea how to resolve it

    opened by CarterLi 4
Owner
Jesse Chan
0xA102C2F15053B4F7
Jesse Chan
YouTube video player for iOS, tvOS and macOS

About XCDYouTubeKit is a YouTube video player for iOS, tvOS and macOS. Are you enjoying XCDYouTubeKit? You can say thank you with a tweet. I am also a

Cédric Luthi 2.9k Jan 7, 2023
Versatile Video Player implementation for iOS, macOS, and tvOS

News ?? - Since 2.1.3 VersaPlayer now supports iOS, macOS, and tvOS Example Installation Usage Basic Usage Adding Controls Advanced Usage Encrypted Co

Jose Quintero 723 Dec 26, 2022
Yattee: video player for Invidious and Piped built for iOS, tvOS and macOS

Video player for Invidious and Piped instances built for iOS, tvOS and macOS. Features Native user interface built with SwiftUI Multiple instances and

Yattee 1.1k Jan 8, 2023
Musical Player - A Simple Musical Player For iOS

Musical_Player The app is a musical player. It was written as an task for a mobi

null 1 Nov 26, 2022
BMPlayer - A video player for iOS, based on AVPlayer, support the horizontal, vertical screen

A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles.

Eliyar Eziz 1.8k Jan 4, 2023
Overlay alpha channel video animation player view using Metal.

Overlay alpha channel video animation player view using Metal. Example To run the example project, clone the repo, and run pod install from the Exampl

noppefoxwolf 244 Jan 1, 2023
▶️ video player in Swift, simple way to play and stream media on iOS/tvOS

Player Player is a simple iOS video player library written in Swift. Looking for an obj-c video player? Check out PBJVideoPlayer (obj-c). Looking for

patrick piemonte 2k Jan 2, 2023
Swifty360Player - iOS 360-degree video player streaming from an AVPlayer.

Swifty360Player iOS 360-degree video player streaming from an AVPlayer. Demo Requirements Swifty360Player Version Minimum iOS Target Swift Version 0.2

Abdullah Selek 148 Dec 18, 2022
VGPlayer - 📺 A simple iOS video player by Vein.

Swift developed based on AVPlayer iOS player,support horizontal gestures Fast forward, pause, vertical gestures Support brightness and volume adjustment, support full screen, adaptive screen rotation direction.

Wen Rong 399 Dec 23, 2022
Open Source iOS 360 Degree Panorama Video Player.

?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? The Metal with Swift 5.0 version is comming ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 360 VR Player A Open Source, Ad-free, Na

Hanton Yang 2k Dec 24, 2022