GithubHelp home page GithubHelp logo

testcafe / iina Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iina/iina

0.0 3.0 0.0 179.44 MB

The modern video player for macOS.

Home Page: https://iina.io

License: GNU General Public License v3.0

Swift 88.63% JavaScript 0.47% Ruby 1.01% HTML 0.37% Rich Text Format 7.90% Objective-C 1.63%

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

IINA ships with pre-compiled dynamic libraries for convenience reasons. If you aren't planning on modifying these libraries, you can follow the instructions below to build IINA; otherwise, skip down to Building mpv manually and then run the steps here:

Using the pre-compiled libraries

  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
  1. Run pod install in project's root directory.

  2. Open iina.xcworkspace in the latest public version of Xcode. IINA may not build if you use any other version.

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.

Homebrew

Use our tap, since passes the correct flags during configuration:

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

MacPorts

Pass in the flags when installing:

# port install mpv +uchardet -bundle -rubberband configure.args="--enable-libmpv-shared --enable-lua --enable-libarchive --enable-libbluray --disable-swift --disable-rubberband" 
  1. Copy latest header files into libmpv/include/mpv/.

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

  3. Run other/change_lib_dependencies.rb. This script will deploy the depended libraries into libmpv/libs. Once this is finished, go to Xcode and delete all of the dylibs from the Frameworks group in the sidebar and drag in your own from libmpv/libs; do the same in the "Embedded Binaries" section of the iina target.

  4. Run a fresh build in Xcode.

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 check the Translation Status page first: if a language is labeled as "Need help", then feel free to update the translation. If it doesn't contain your language at all, you can submit a new translation. If you need help working on a translation, you can contact @lhc70000 or file an issue and one of the maintainers will try to help you out.

iina's People

Contributors

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

Watchers

James Cloos avatar testcafe avatar  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.