作为一个 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 提供了和其他播放器一样,甚至更丰富的菜单项,它也提供了一个快速设置界面,涵盖了所有常用的视频、音频和字幕选项,并使用了各种可交互的控件来大大加快更改各种播放设置的效率。
(视频设置)
(音频设置)
(字幕设置)
这些界面只需一个快捷键即可调出。传统的菜单项设置也全部保留,方便有任何需求的用户。
甚至对于画面剪切(用途有去黑边等),除去快速设置中的按常用长宽比剪切,它甚至提供了一个全交互式的剪切界面(此界面将来可扩展至更多设置):
IINA 支持简易的播放列表(更多功能稍后添加)。对于分章节的视频,它更是可以把内容及起始时间一目了然地列出:
(播放列表)
(章节)
点击即可跳转至相应视频或者时间。
IINA 希望能迎合尽可能多用户的喜好。在开发过程中,遇到和身边人不同的操作习惯,我会把它们作为可选的设置项加入偏好设置。
比如,播放按钮两边的左右箭头,可以选择调整速度(类似 QuickTime )、上一个 /下一个媒体( MPlayerX )或是前进 /后退;又如鼠标在播放界面单击和双击,都可以有可选的相应动作。
我也尽量满足一些「强迫症」用户的偏好,所以在拖动播放控制时,可以吸附窗口中心;又如在根据视频大小调整窗口大小时,可以选择根据 Retina 屏物理分辨率还是逻辑分辨率。
对于快捷键, IINA 保留了整个 mpv 的 input.conf 系统,以做到与原来 mpv 用户的最大兼容。但是,用户可以有多个快捷键配置文件,并在 GUI 中切换和编辑他们(暂时可以做到快捷键配置的管理和录制新快捷键,但对应命令需要自行输入;此问题会尽快解决)。
欲查看所有设置项的截图,请访问 IINA 的网站(链接在文章底部)。
当然, IINA 支持 mpv 强大的配置文件和 lua 脚本系统。对于现有的 mpv 用户,只需要打上一个勾, IINA 就会自动使用原有的全部配置(并覆盖偏好设置中的相关项),从而几乎无缝切换到一个同样内核但有强大界面的新播放器。
目前 IINA 也支持 mpv 的日志功能( Debug 用),以及使用 mpv 自己的 osd 。
当然,对于不熟悉 mpv 的用户,这些选项平时会被禁用,不会有任何影响。
现有的播放器有很多都含有不少冗余部分,如 MPlayerX ,含有很多用于兼容 10.6 的代码,而如今几乎没有人在使用此版本。 IINA 仅面向现代 macOS ,支持 macOS 10.10+,推荐使用 macOS 10.12 。
IINA 由纯 Swift 写成,并在 github 上使用 GPLv3 开源。 IINA 不管现在还是将来,都将免费。
如果你对这个项目感兴趣,可以用各种方式给我反馈:
目前 IINA 已经推出了第一个版本 v0.0.1 。不过由于我的经验不足,我相信此版本仍有很多待解决的问题。如果你发现了问题,甚至软件根本不能打开,请在 github 上提出 issue 或者通过邮件 /私信等方式联系我。
下载地址等请参见网站,或 github 上的 release 。
Github : https://github.com/lhc70000/iina
网站:https://lhc70000.github.io/iina/zh-cn/
(第一次发帖就是类似广告的东西,还请大家见谅^ ^||)
由于反馈人数有点多,有回复限制而不能及时回复,如果你希望继续跟进交流,请加入QQ群
142730636
谢谢各位( ` )
![]() | 1 xjbeta 2017-01-04 19:16:33 +08:00 放心 这不算广告 支持下 |
![]() | 2 wjh3936 2017-01-04 19:18:34 +08:00 k 看上去好像还不错。。 |
3 smilexyk 2017-01-04 19:19:46 +08:00 via iPhone 支持下。本人对播放器这块也不是很懂,只能默默围观帮忙测试了 QAQ |
![]() | 4 ioioioioioioi 2017-01-04 19:23:19 +08:00 看起来不错, mpv 确实丑。 |
![]() | 5 young 2017-01-04 19:25:05 +08:00 via Android 漂亮,赞 |
![]() | 6 Vogan 2017-01-04 19:26:20 +08:00 via iPhone 滋瓷 |
![]() | 7 886106 2017-01-04 19:27:08 +08:00 加油,喜欢简单的界面,用过射手也现在是主力播放器,希望可以将来替换 不知道是否可以支持字幕在线匹配? 和蓝光原盘支持?   |
![]() | 8 fo2w 2017-01-04 19:27:50 +08:00 有自动下载字幕功能么, 我感觉我现在最需要播放器的功能是这个... |
![]() | 9 Sivan 2017-01-04 19:29:52 +08:00 via iPhone 你问我兹瓷不兹瓷,我说兹瓷。 |
![]() | 10 Gothack 2017-01-04 19:30:03 +08:00 via iPhone 看着不错啊,不知道外挂字幕的编码问题如何…… |
![]() | 11 886106 2017-01-04 19:30:17 +08:00 补充下刚才的图片,左侧为射手,右侧为 IINA ,喜欢圆角处理,还有打开很快 希望可以支持上面两点要求就好了 |
![]() | 12 bugcode 2017-01-04 19:31:05 +08:00 via iPhone 看着不错 |
![]() | 13 xuan_lengyue 2017-01-04 19:33:44 +08:00 漂亮,已经设置为默认播放器 |
14 kitawa 2017-01-04 19:35:25 +08:00 不管怎么样都要支持一下, mac 上的播放器可选择的实在太少。 |
15 mildnes 2017-01-04 19:35:42 +08:00 比较关心的是不是能播放蓝光盘。在线字幕都还好。。现在蓝光盘都用 kodi 看的。。但是 kodi 不是很方便。。 so 。。这个如果能支持蓝光盘是极好的。 |
![]() | 16 Lonely 2017-01-04 19:35:49 +08:00 跟 movist 比呢 |
![]() | 17 leaves615 2017-01-04 19:46:58 +08:00 非常支持。 |
![]() | 18 lhc70000 OP ![]() |
19 v2xeuser 2017-01-04 19:52:38 +08:00 国产播放器?滋瓷!!! |
![]() | 20 lhc70000 OP @Gothack 字幕编码问题,现在的版本应该可以自动选择,菜单中也可以手动选择,不过不排除有 bug 的可能性,还请帮忙测试。如果有不支持的字幕,请给我链接,我争取尽快修复。 |
![]() | 21 minamike 2017-01-04 19:53:48 +08:00 ![]() @fo2w 这个 alfredworkflow 可能可以减轻找字幕的烦恼 = = http://lucifr.com/2014/05/01/subtitle-workflow-for-alfred-2/ |
![]() | 22 lhc70000 OP |
![]() | 23 helloSwift 2017-01-04 19:56:36 +08:00 via iPhone 很赞 但是这个图标_(:3 」∠)_ |
![]() | 24 atone 2017-01-04 19:58:58 +08:00 这个播放器好赞!强烈支持! |
![]() | 25 lhc70000 OP @helloSwift hhh 图标虽然不是我做的但是可以改进,只要提出意见即可~ |
![]() | 26 MrX 2017-01-04 19:59:22 +08:00 这个要滋瓷,完成度已经很高了,赞 |
![]() | 27 Lagrange 2017-01-04 20:01:57 +08:00 不错肯定是不错啦,要是换个精致的图标就超神了 |
![]() | 28 yipeng 2017-01-04 20:03:50 +08:00 怒赞 |
![]() | 29 lydasia 2017-01-04 20:05:06 +08:00 vlc 路过,表示 3.0 貌似解决了一直以来中文字幕乱码的问题。 |
![]() | 30 ShinCurry 2017-01-04 20:08:00 +08:00 手动滋瓷 |
31 golmic 2017-01-04 20:11:11 +08:00 via Android 支持 |
![]() | 32 burning 2017-01-04 20:13:08 +08:00 两个问题: 1.播放时仍然会启动屏保 2.鼠标滚轮不能调节音量 |
![]() | 33 weicaizhi 2017-01-04 20:13:16 +08:00 macOS 太需要这样一款功能强大且 fancy 的视频播放器了! 另外,建议能在字幕这个功能多下点功夫,毕竟在国内挂字幕是个硬需求。 哦,对了, IINA 这个名字有什么特殊意义吗? 最后,感谢作者,加油!强烈支持!!! |
34 ebeb 2017-01-04 20:14:24 +08:00 滋瓷 |
![]() | 35 burning 2017-01-04 20:14:42 +08:00 3.如果启用了单击暂停 /播放功能,双击全屏时,也会触发暂停 /播放 |
![]() | 36 cyio 2017-01-04 20:16:58 +08:00 从 win linux 过来半年, mac 下每次用播放器,都像回到原始社会。当然可能是习惯问题 |
![]() | 38 shinwood 2017-01-04 20:21:57 +08:00 via iPhone 赞楼主! |
![]() | 39 wl9739 2017-01-04 20:23:59 +08:00 via iPad 赞一个先 |
![]() | 40 owlsec 2017-01-04 20:24:05 +08:00 赞楼主!这叫发明创造,不叫广告~ |
![]() | 41 exoticknight 2017-01-04 20:27:30 +08:00 好~顺便能通过项目来学 swift ~请问是 swift3 吗? |
![]() | 42 fancymax 2017-01-04 20:31:46 +08:00 via iPhone 目前用爱奇艺,感觉完全满足要求。 |
![]() | 43 smallaccount 2017-01-04 20:32:19 +08:00 音量可以调到 300%吗? |
44 squid157 2017-01-04 20:36:13 +08:00 资瓷 |
![]() | 45 ztmark 2017-01-04 20:38:04 +08:00 赞 |
46 nanoxx 2017-01-04 20:38:11 +08:00 via iPhone 支持~ |
![]() | 47 fancymax 2017-01-04 20:40:29 +08:00 不过还是要大大的赞~~ |
![]() | 48 TangMonk 2017-01-04 20:42:12 +08:00 支持 |
![]() | 49 TangMonk 2017-01-04 20:42:47 +08:00 支持! |
![]() | 50 TangMonk 2017-01-04 20:44:14 +08:00 因为某些原因还没有升级 macOS, 请问支持 OS X 吗? |
![]() | 51 Phant0m 2017-01-04 20:48:24 +08:00 via iPhone 支持 非常 nice |
![]() | 52 hptcyhj 2017-01-04 20:49:38 +08:00 希望能支持 movist 的软肋特效外挂字幕。 |
53 wc0517 2017-01-04 20:50:08 +08:00 强烈支持,不知道省电方面做得如何 |
![]() | 54 clavichord93 2017-01-04 20:51:48 +08:00 via iPhone 我觉得可以先不急加新功能,先把基础功能优化好,后面功能可以慢慢加~支持一个~ |
55 ashfinal 2017-01-04 20:54:00 +08:00 @ioioioioioioi ![]() mpv 丑嘛?我觉得还可以,简单配置下就行。 不过楼主这个确实是好东西,省时省心。还包含了我当时找了一圈的播放列表管理、手动加载字幕等功能。 已 star 。 有个问题我想确认下:我看截图上有第二字幕,这意思是说可以像 kmplayer 一样同时加载两份字幕嘛? |
![]() | 56 NordicShaw 2017-01-04 20:54:37 +08:00 好东西,支持一下。 |
![]() | 57 qq30545 2017-01-04 20:55:17 +08:00 Elmedia Video Player, 还没人提这个, 最新版支持中文了, http://xclient.info/s/elmedia-video-player-pro.html |
![]() | 58 yivanus 2017-01-04 20:56:22 +08:00 赞 |
![]() | 59 unneeded 2017-01-04 20:57:57 +08:00 支持 等新 mac 到手了下一个试试 以前用的那些都不怎么方便 |
60 znoodl 2017-01-04 20:59:03 +08:00 非常好的东西,一直用 MPV ,可惜没有播放列表可以看 |
![]() | 61 sephinh 2017-01-04 20:59:59 +08:00 via Android 就喜欢楼主这股折腾劲 |
62 HuangLibo 2017-01-04 21:00:16 +08:00 mac 版的射手影音不是挺好用的吗 |
63 avatar70t 2017-01-04 21:03:06 +08:00 按 q 退出会显示出错,不知道是我这边个人原因还是 bug? |
![]() | 64 cyio 2017-01-04 21:08:39 +08:00 期待加入 homebrew 方便下载安装 |
![]() | 65 appppap 2017-01-04 21:12:07 +08:00 via iPhone CPU 内存使用率怎么样。支持 |
![]() | 66 kazarin 2017-01-04 21:24:14 +08:00 哇这个太棒了 |
![]() | 67 freefcw 2017-01-04 21:24:45 +08:00 支持,怒赞一个,看着不错 |
![]() | 68 fancymax 2017-01-04 21:26:48 +08:00 刚才试用对比了一下。 播放了一个较大的 mp4 视频。分别用 爱奇艺、 QuickTime 、以及 IINA 。 IINA 播放不到十分钟 风扇就呼呼响啊。 用爱奇艺、 QuickTime 就很安静。 |
69 hoythan 2017-01-04 21:28:29 +08:00 你要做一个适合广大撸友的播放器, VLC 就很强大,有小跳中跳大跳... |
71 znoodl 2017-01-04 21:32:56 +08:00 简单使用了下,反馈几个 BUG : 1 、鼠标设置了单击暂停 /播放, RMBP 触摸板点击有效,按下去有时候无效 2 、设置了 Quit when no window opened 无效,并且打开 IINA 本身就没有窗口 3 、鼠标默认双击全屏 /退出全屏 每次都会暂停一下 4 、设置里快捷键绑定 新建配置项无效 5 、设置里快捷键绑定不能粘贴,只能手动敲入 6 、高级设置里 Use config dir 开启之后无效 好想自己学 swift 去修 bug |
![]() | 72 xucheng 2017-01-04 21:43:40 +08:00 我发现的几个 bug : 1. 高级配置 config dir 必须是展开的路径。需要 /Users/name/.config/mpv 才能工作,而 ~/.config/mpv 就不行。 2. save-position-on-quit 设置无效。 3. on-top 设置无效。 4. mp.observe_property("window-minimized",...) 这样的脚本无法工作。问题根源是没有把 UI 的事件和 mpv 的事件连接起立。 |
![]() | 73 lhc70000 OP @burning 感谢反馈。屏保的我还真没考虑,会在后续版本更新;鼠标不应该出现这样的问题(纵向滚动调节音量,水平滚动前进 /后退),请问你使用的是外置鼠标么? |
74 Wanyne 2017-01-04 21:57:24 +08:00 支持楼主,首先给一个[射手播放器自动下载字幕的 API]( https://docs.google.com/document/d/1ufdzy6jbornkXxsD-OGl3kgWa4P9WO5NZb6_QYZiGI0/preview), 然后提供一个 Alfred 一件下载字幕的 Workflow : https://github.com/Vaayne/workflow |
![]() | 76 lhc70000 OP @exoticknight 是 Swift 3~ |
![]() | 77 lhc70000 OP @smallaccount 音量超过 100%可以做到,我也有计划。估计下个版本或者下下个版本就有了。感谢反馈 |
![]() | 78 wangpao 2017-01-04 22:00:15 +08:00 via iPad @lhc70000 感觉很不错,但是这名字,从营销推广角度来讲,还有改进空间,至少要简单上口,这名字多数人第一眼看上去都不知道怎么读,识别度感觉也不高 --广告行业 |
![]() | 79 kazarin 2017-01-04 22:03:08 +08:00 有办法修改触摸板横向 /纵向滚动的动作吗? mpv 里水平滚动是前进 /后退、纵向滚动是快速前进 /后退,现在纵向滚动是音量调节了好不习惯 |
![]() | 80 lhc70000 OP @avatar70t 请问是 Command+Q 退出时崩溃么?如果是的话,是偶尔还是总是发生? 如果是偶尔发生,这应该是个还没有解决的 bug ,你可以在崩溃时查看错误报告并发给我以便确认。 (顺便,这个 bug 是 OpenGL delete texture 时 crash... 我会争取尽快解决,有相关经验的也请提出建议 T T ) |
81 shingoxray 2017-01-04 22:05:50 +08:00 裂墙支持! Mac 上现有的播放器都太陈旧了。 |
![]() | 82 lhc70000 OP @TangMonk 现在改名之后,我默认前面的所有版本也叫做 macOS 了。 IINA 支持 OSX 10.10 以上。 |
![]() | 84 lhc70000 OP |
![]() | 85 byicer 2017-01-04 22:17:05 +08:00 楼主,不打算买个证书吗?打开提示来自身份不明的开发者 |
![]() | 86 IamJ 2017-01-04 22:21:54 +08:00 ![]() 楼主做了我一直想做却没做的事情, star |
![]() | 87 run2 2017-01-04 22:29:00 +08:00 呃,有多少人的 mac 支持 Blu-ray ?伪需求吧 lz 可以出个自己 compile 的教程给他们 |
![]() | 88 helloSwift 2017-01-04 22:31:06 +08:00 |
89 ashfinal 2017-01-04 22:34:11 +08:00 |
![]() | 90 Yien 2017-01-04 22:35:46 +08:00 非常感谢!!!!!!!!!!!! |
![]() | 91 shanliang 2017-01-04 22:42:05 +08:00 兹瓷一下 |
![]() | 92 gamesbain 2017-01-04 22:47:22 +08:00 via iPhone 支持已 star |
93 kitawa 2017-01-04 22:48:27 +08:00 好像发现一个 bug ,窗口置顶后红绿灯按钮是灰色的,没法点。还有几点建议,视频和字幕文件好像没法拖到窗口加载,窗口好像没法默认置顶。 |
94 iAugus 2017-01-04 22:49:36 +08:00 via iPhone |
![]() | 95 piaoliu 2017-01-04 22:53:29 +08:00 用了下,非常赞~~ |
![]() | 96 vizards 2017-01-04 22:54:25 +08:00 via iPhone 好顶赞,支持支持 |
![]() | 97 xcatliu 2017-01-04 23:08:24 +08:00 这个必须支持! |
![]() | 98 ZRS 2017-01-04 23:20:00 +08:00 滋瓷!已 star ,不考虑拉个 telegram 讨论群吗 |
![]() | 99 goodryb 2017-01-04 23:26:45 +08:00 支持,使用了一下感觉挺好的,好像没有找到检查更新的功能,初期版本更新比较频繁,建议加上自动更新功能 另外,可以参考下 98 楼的意见,来个 telegram 群 |
![]() | 100 daimao 2017-01-04 23:29:41 +08:00 滋瓷! |