(更新:0.0.2 已经发布,修复了大量 bug 也新增了很多功能。请看:知乎专栏)
(另请注意:关于最近 Mac AppStore 上出现的 IINA 复制品)
关注此问题已久,正如众多答案所说,Mac 上看起来并没有一个能真正令人满意的视频播放器。所以,我斗胆自己写了一个。
Project IINA,是一个基于 mpv、契合 macOS 设计风格、力求做到最佳用户体验、轻便且功能强大的视频播放器项目。
IINA 使用 mpv 作为播放核心,兼容了 mpv 强大的设置、快捷键和脚本系统,享受 mpv 的解码能力和画质;同时,它采用现代 macOS 的设计风格,使用交互式界面进行高效的视频设置;而且免费开源,只要我有精力就会更新。
Mac / mpv 用户经常吐槽的点,我尽力一一解决了:它有强大易用的 GUI,用户不必和 mpv 的选项打交道;它默认启用硬件解码,以解决 mpv 默认配置下 CPU 的高占用;它主打轻便,不做媒体中心;它为 Retina 屏幕做了渲染优化;它支持一切 macOS 应用该有的行为如全屏、分屏等,更支持 Touch Bar 等新硬件。
详情请看这篇文章:https://zhuanlan.zhihu.com/p/24700324,或者看下面粘贴来的内容:
作为一个 Mac 用户,或许你和我一样感到过疑惑:为什么这样一个拥有众多高质量软件的平台,竟没有一个强大而优雅的视频播放器。
说起 macOS 上的视频播放器,大多数人会举出 QuickTime、VLC、MPlayerX 等名字,然而他们的缺点也显而易见:QuickTime 支持的格式太少;VLC 界面不美观,也时常卡顿;MPlayerX 基于稍稍过时的 mplayer,不再有大幅更新,而且界面......不是那么 Mac。
在这个问题中,有人推荐过了 mpv。mpv 是 mplayer 系唯一活跃开发的分支,也是当前跨平台功能最强大的播放软件之一。两年前的我也是从这个问题才了解到 mpv,当即装上测试,对它的解码能力和强大配置选项有了很深的印象。但即使作为程序员的我,也用不惯它的命令行界面:一个媒体类软件,怎能没有一个好用好看的 UI 呢?
所以今年暑假,我突然冒出「做一个现代的 macOS 视频播放器」的想法。我经常想出个点子做一两天之后坑掉,但是幸运的是,对于这个项目,虽然中间由于自己懒和课程太忙暂停了好一阵,我还是坚持下来了。
Project IINA,是一个基于 mpv、契合 macOS 设计风格、力求做到最佳用户体验、轻便且功能强大的视频播放器项目。
解码和播放
IINA 以 mpv 为播放核心,所以享受到了 mpv 解码和图像方面的所有优点。与 MPlayerX 使用的 slave mode 不同,IINA 使用了 libmpv 的 C API,来提供更加稳定快速的渲染和控制。此外,它使用原始屏幕分辨率渲染,所以比起其他一些播放器画质有显著提高。
(IINA 与 MPlayerX 同分辨率下的字幕渲染对比)
用户界面
不多说,先上截图:
当前 macOS 的毛玻璃效果可以选择材质,所以标题栏和播放控制有四种主题可选:Dark(截图中的主题)、Ultra Dark、Light 和 Medium Light。
语言方面,开发(和截图中)语言为英文,但目前几乎所有界面都有简体中文支持。
快速设置
或许你试过在其他播放器中,调整音频延迟等选项时,需要不断点击菜单项来一次又一次地加减音频延迟的数值;或者在选择音轨字幕时,展开好几层菜单来找到需要的那一个。当然,IINA 提供了和其他播放器一样,甚至更丰富的菜单项,它也提供了一个快速设置界面,涵盖了所有常用的视频、音频和字幕选项,并使用了各种可交互的控件来大大加快更改各种播放设置的效率。
(视频设置)
<img src="https://pic3.zhimg.com/v2-43f2b1b0a56ee3bcc1aebfc5c59ab9f2_b.png" data-rawwidth="1445" data-rawheight="862" class="content_image" width="1445" data-original="https://pic3.zhimg.com/v2-43f2b1b0a56ee3bcc1aebfc5c59ab9f2_r.png">(音频设置)
(音频设置)
(字幕设置)
这些界面只需一个快捷键即可调出。传统的菜单项设置也全部保留,方便有任何需求的用户。
甚至对于画面剪切(用途有去黑边等),除去快速设置中的按常用长宽比剪切,它甚至提供了一个全交互式的剪切界面(此界面将来可扩展至更多设置):
播放列表和章节
IINA 支持简易的播放列表(更多功能稍后添加)。对于分章节的视频,它更是可以把内容及起始时间一目了然地列出:
(播放列表)
<img src="https://pic4.zhimg.com/v2-6fe86899b024d3ff4eaff9ea35a94ceb_b.png" data-rawwidth="1073" data-rawheight="652" class="content_image" width="1073" data-original="https://pic4.zhimg.com/v2-6fe86899b024d3ff4eaff9ea35a94ceb_r.png">(章节)
(章节)
点击即可跳转至相应视频或者时间。
丰富的设置项
IINA 希望能迎合尽可能多用户的喜好。在开发过程中,遇到和身边人不同的操作习惯,我会把它们作为可选的设置项加入偏好设置。
比如,播放按钮两边的左右箭头,可以选择调整速度(类似QuickTime)、上一个/下一个媒体(MPlayerX)或是前进/后退;又如鼠标在播放界面单击和双击,都可以有可选的相应动作。
我也尽量满足一些「强迫症」用户的偏好,所以在拖动播放控制时,可以吸附窗口中心;又如在根据视频大小调整窗口大小时,可以选择根据 Retina 屏物理分辨率还是逻辑分辨率。
对于快捷键,IINA 保留了整个 mpv 的 input.conf 系统,以做到与原来 mpv 用户的最大兼容。但是,用户可以有多个快捷键配置文件,并在 GUI 中切换和编辑他们(暂时可以做到快捷键配置的管理和录制新快捷键,但对应命令需要自行输入;此问题会尽快解决)。
欲查看所有设置项的截图,请访问 IINA 的网站(链接在文章底部)。
MPV 的配置文件和脚本系统
当然,IINA 支持 mpv 强大的配置文件和 lua 脚本系统。对于现有的 mpv 用户,只需要打上一个勾,IINA 就会自动使用原有的全部配置(并覆盖偏好设置中的相关项),从而几乎无缝切换到一个同样内核但有强大界面的新播放器。
目前 IINA 也支持 mpv 的日志功能(Debug 用),以及使用 mpv 自己的 osd。
当然,对于不熟悉 mpv 的用户,这些选项平时会被禁用,不会有任何影响。
面向现代 macOS
现有的播放器有很多都含有不少冗余部分,如 MPlayerX,含有很多用于兼容 10.6 的代码,而如今几乎没有人在使用此版本。IINA 仅面向现代 macOS,支持 macOS 10.10+,推荐使用 macOS 10.12。
免费,开源,期待你的参与
IINA 由纯 Swift 写成,并在 github 上使用 GPLv3 开源。IINA 不管现在还是将来,都将免费。
如果你对这个项目感兴趣,可以用各种方式给我反馈:
Alpha 1
目前 IINA 已经推出了第一个版本 v0.0.1。不过由于我的经验不足,我相信此版本仍有很多待解决的问题。如果你发现了问题,甚至软件根本不能打开,请在 github 上提出 issue 或者通过邮件/私信等方式联系我。
下载地址等请参见网站(已加入百度云链接),或 github 上的 release。
Github: lhc70000/iina
网站:Project IINA - 现代的 macOS 视频播放器
更新:如果你对它有建议并想跟进测试,请加入 QQ 群 142730636。谢谢支持( ´ ▽ ` )ノ
原网址: 访问
创建于: 2020-08-05 02:24:06
目录: default
标签: 无
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论