Giter Club home page Giter Club logo

iina's Introduction

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 for modern macOS (10.11+), aims to offer the best user experience
  • All the features you need for videos, audios, subtitles, playlist, chapters and so on
  • Force Touch, Picture-in-picture and (advanced) Touch Bar support
  • Customizable user interface including color schemes and on screen controller (OSC) layout
  • Standalone Music Mode designed for audio files
  • Thumbnail preview for the whole timeline like YouTube
  • Online subtitle searching and intelligent local subtitle matching
  • Unlimited playback history
  • Convenient and interactive settings for video/audio filters
  • Fully customizable keyboard, mouse and trackpad gesture control
  • MPV config files and script system are available for advanced users
  • Command Line Tool and browser extensions provided
  • Still in active development

Build

Use pre-compiled dylibs

  1. Please make sure CocoaPods is installed.

gem

sudo gem install cocoapods

homebrew

brew install cocoapods
  1. Run pod install in project root directory.
pod install
  1. Open .xcworkspace file using Xcode 10.

There's a bug in cocoapods 1.5.*, so that you cannot complie IINA with it. Thankfully the bug was fixed in their master branch. We are using pre-release of cocoapods (currently 1.6.0 beta2) to avoid that bug. You can install the pre-release version of cocoapods via

sudo gem install cocoapods --pre

If you are unwilling to use the provided dylibs, follow the instructions below.

Build with the latest mpv

  • Install mpv

    brew install mpv --with-uchardet
    

    Feel free to include any other libraries if you like.

  • Copy latest header files into libmpv/include/mpv/

  • 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.

  • other/change_lib_dependencies.rb

    This script will deploy the depended libraries into libmpv/libs. Make sure you have a phase copying of all these dylibs in Xcode's build settings.

Contributing

Please read CONTRIBUTING.md before opening an issue or pull request.

Please ask for permission from the author before starting working on a pull request to make sure that there's not someone else working on the same feature.

Any feedback/contribution is appreciated!

Translation

Please check Translation Status first. If a language is labeled as "Need help", then please feel free to update the translation. If it doesn't contain your language, it will be awesome to submit a new translation. Please contact the author (@lhc70000) if you don't know how to submit translations using GitHub.

iina's People

Contributors

lhc70000 avatar uiryuu avatar saagarjha avatar darkbrow avatar matsune avatar shilch avatar euf avatar drabweb avatar leoyoon-tsaw avatar cgand avatar superzazu avatar neesonqk avatar inflation avatar harukama avatar miigon avatar imkota avatar erikminekus avatar aikyuichi avatar xu-cheng avatar metacosm avatar j-rg avatar thkir avatar sidneys avatar maddthesane avatar marianvinicay avatar droid-q avatar braineo avatar xjbeta avatar vit9696 avatar greenek avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.