IINA 0.0.10 功能预览 - 自动匹配字幕, Touch Bar 增强, 播放历史

2017-06-02 02:35:03 +08:00
 lhc70000

IINA 是一款开源的现代 macOS 播放器。自发布以来不到五个月的时间里,已经在 GitHub 上有了 6000+ Star,23 位 Contributor 和 11 种语言的本地化。

虽然目前 IINA 仍然称自己为「 Alpha 版本」,但 0.0.8 之后实际上已经足够稳定。因此,几天内发布的下一个版本 0.0.10 中,我们会(悄悄😝)去掉 Alpha 版本的声明。正式版本 0.1.0 (也许是 1.0.0 ?)会在 1~2 个版本迭代后推出,届时我们也会启用新的官网和自动更新机制。

IINA 在 0.0.10 版本中增加了几个十分重要的新功能,在此先向大家简要介绍。

播放列表及自动匹配字幕

自动加载播放列表

IINA 之前使用了 mpv 自带的脚本 auto_load.lua 来将同文件夹下的视频加载到播放列表。然而,这个脚本造成了太多问题,所以在 0.0.10 中,我们使用了自己的加载机制,正确处理了文件名的逻辑排序,也解决了之前修改播放列表之后会将重复项目加入播放列表等等问题。

长文件名处理

在使用 IINA 0.0.9 或之前的版本(甚至很多其他带播放列表功能的播放器)时,经常会遇到由于文件名太长,根本不知道在播放哪一集的问题。

为解决此问题,首先,IINA 0.0.10 支持了播放列表的宽度调整,直接拖拽即可将播放列表调整至最大 400pt 的宽度。然而,再宽的文件列表也不一定能让文件名中的重要信息完全显示出来。所以,同时 IINA 会在播放列表空间不够时,自动折叠相同文件名前缀,使得集数等信息一目了然。点击折叠后的「…」即可展开原文件名。下面是 0.0.10 中的播放列表:

判断前缀的算法虽算不上十分强大,但也足够智能,能同时处理多个剧集在同一个文件夹和其他各种复杂情况。

智能匹配字幕

动画或剧集的观众在使用本地播放器播放视频时,经常会遇到加载外置字幕的问题。虽然各大播放器(包括 Windows 平台)都有类似「字幕名包含视频名时自动加载字幕」的简单功能,但据我所知,他们都没有真正的「模糊匹配字幕」:一旦字幕名和视频名稍有不一致,或者字幕存放位置不同,就需要为每一集手动添加字幕。

IINA 在 0.0.10 版本中试图真正解决这个问题。

以上图的文件结构举例。由于视频及字幕来自不同来源,它们的文件名差别很大;视频除了正片的 01-12 ( 01 后还有 v2 的后缀),还有 NCED01-12 等其他没有相匹配的字幕的文件;字幕则是对于某几集,多了 Character_Commentary 等额外的字幕版本。对于看起来如此混乱的视频和字幕结构,IINA 的匹配结果如上面播放列表的截图所示,对于所有视频及字幕完美匹配(即旁边显示「 S 」图标)。

具体来看第一集的匹配结果:

点击「 S 」图标会弹出已匹配字幕的列表:

如果文件夹中有多个剧集(字幕和视频文件名均不同),照样完美匹配:

如果 IINA 万一匹配错误呢?虽然 IINA 有 90% 的信心,但取消匹配结果也十分方便,只需要点击「错误的字幕」即可。在此之后对于匹配错误或者没有匹配的视频,你也可以手动提前为他们加上字幕(像 Movist 那样):

IINA 在匹配之后仍然会保留相似度比较大的结果,如果有误,你可以在字幕侧边栏中一键更改。同时,它还提供了字幕加载路径中的所有字幕供选择,从此再也不用从「打开文件」窗口中选择字幕:

那么,上面的「字幕加载路径」是什么呢?它可以是你定义的任意路径。

除了视频文件所在目录,你可以指定一系列相对和绝对路径来让 IINA 在其中搜索字幕,比如「./*」代表所有子目录(默认行为),「../Subtitles 」代表上一层目录中的「 Subtitles 」文件夹等等。

它甚至还提供了「优先加载文件名含有以下字符串的字幕」,具体用途想必看上面的截图就能明白。

那么,如果视频不是一系列剧集呢?请放心,IINA 的模糊匹配虽然为剧集做了大量优化,但对于普通视频仍然会有很好的匹配结果。

如果你愿意,仍然可以在偏好设置中关闭此功能,或选择更保守的自动加载方式。

Touch Bar 增强

在 0.0.10 中,IINA 使用了自己绘制的 Touch Bar 滑条,并修复了众多 Touch Bar 相关的 bug。

(以下截图由于图片压缩,可能出现失真)

播放历史

IINA 在 0.0.10 中加入了无限的播放历史,通过 Cmd+Shift+H 即可调出窗口。你可以搜索、按文件夹或日期分组、对每一条记录 进行播放或删除等操作,当然如果想保护隐私,也可以在偏好设置中完全禁用播放历史功能。

为 IINA 做出贡献

GitHub(简陋的)官网

IINA 是一个免费、开源的项目,并保证永远不向用户收费。它现在由我和极少数的合作者在空余时间维护,所以需要你们的帮助。你可以:

从发布至今,除了 V2EX 和知乎,我还没有在任何平台主动宣传过 IINA。在发布稳定版时,我们可能希望对 IINA 作一定的宣传,并全面开放捐助。

再次感谢 IINA 的所有贡献者和所有 Alpha 版本的用户。

14723 次点击
所在节点    分享创造
73 条回复
maemual
2017-06-02 13:50:32 +08:00
已赞赏!坐等新版发布!
tonyleen
2017-06-02 13:52:26 +08:00
感谢,一直在使用
zcbenz
2017-06-02 13:52:54 +08:00
很好用的软件,希望能增加 PayPal 捐款通道。
NemoAlex
2017-06-02 13:53:33 +08:00
模糊匹配字幕的的问题真是说到心坎里去了,太多程序都需要这个了。
如果可以拿出来单独作为项目来维护,附加多种语言的实现。那样就更棒了。
orange0422
2017-06-02 13:54:41 +08:00
我倒是觉得出个收费版没什么不好
beyoung
2017-06-02 14:17:18 +08:00
@NemoAlex #44 赞同 我也一直很希望有这个功能 我之前只做过双语字幕 每次都要去填写对应的影片版本标题 挺麻烦的
Icemic
2017-06-02 14:25:17 +08:00
哇,菊苣好厉害!(
eddiechen
2017-06-02 15:27:13 +08:00
对播放列表名字过长不容易看到想看的文件名内容这点提个不同意见

话说一般这种名字过长一般不是都默认使用焦点文件横幅滚动这样的处理吗??
突然来个折叠感觉有点反人类啊

可以考虑多种滚动条件
1,选中文件名滚动
2,鼠标悬停文件滚动( eg:悬停 2 秒开始滚)
mikewoo
2017-06-02 15:37:19 +08:00
已经完全替代掉别的播放器了,谢谢。支持一下
quericy
2017-06-02 15:44:38 +08:00
赞,必须兹磁一下~居然在这里看到作者

@lhc70000

提个 issue:
"播放控制"的三个样式,在出现的时候体验都不怎么好(上挡脸 下挡字幕 中间挡画面)
能否调整下进度条栏:
1,自定义设置透明度
2,新增一个播放画面外的样式(类似于常见的网页播放器,进度条出现时画面缩小,在黑边上显示进度条面版)
zengfxios
2017-06-02 15:49:34 +08:00
* 良心软件
* 国人开发

这个必须顶!
lhc70000
2017-06-02 15:51:53 +08:00
@Icemic
哇,菊苣别闹(

@eddiechen
这点我也有点顾虑。这么设计主要方便的是「想快速切换到某一集」的情况,如果滚动的话先是需要等一两秒,看到数字或者标题之后还要往下数。如果有更好的想法,欢迎提出建议。
eddiechen
2017-06-02 16:06:52 +08:00
@lhc70000 好吧,之前是从名字展示效果来考虑的

如果是集中在 「想快速切换到某一集」这一点的话
其实可以考虑用 android tv 上一些视频软件的切换集数的方式

eg:腾讯视频切换集数的话是按遥控器的方向键下之后,在画面下方展示出以当前每集的缩略图+名字(单纯的集数亦可),这样就可以方便切换了

或者可以来个更 geek 的方式,直接快捷键呼出一个半透明的悬浮列表页,滚轮或上下切换,点击 or 回车切换
悬浮列表的内容默认右对齐+焦点滚动应该就可以解决了
mortal
2017-06-02 16:25:16 +08:00
真的太感动了,这个软件超赞!
zengfxios
2017-06-02 16:39:17 +08:00
@hackpro

brew cask install iina --force
==> Creating Caskroom at /usr/local/Caskroom
==> We'll set permissions properly so we won't need sudo in the future
Password:
==> Satisfying dependencies
complete
==> Downloading https://github.com/lhc70000/iina/releases/download/v0.0.9/IINA.v
######################################################################## 100.0%
curl: (7) Failed to connect to github-production-release-asset-2e65be.s3.amazonaws.com port 443: Operation timed out
Error: Download failed on Cask 'iina' with message: Download failed: https://github.com/lhc70000/iina/releases/download/v0.0.9/IINA.v0.0.9.dmg
The incomplete download is cached at /Users/zengfx/Library/Caches/Homebrew/Cask/iina--0.0.9.dmg.incomplete
Error: nothing to install

操作超时,是什么鬼?
Tunar
2017-06-02 17:04:56 +08:00
资词楼主,不过之前用的时候放某些格式的音频会卡死,,等会再试试新版吧
lhc70000
2017-06-02 17:10:07 +08:00
@zengfxios
brew cask 会直接从 github release 下载,墙内暂时还是用百度云链接吧(以后应该会改进

@Tunar
IINA 的解码基本上都交给 mpv,所以如果 mpv 没有改进,这类问题一般不会解决。可以发给我有问题的音频测试一下。
Jafee
2017-06-02 17:43:26 +08:00
又漂亮又好用又开源的播放器!
warcraft1236
2017-06-02 18:39:42 +08:00
感谢作者,刚推出的时候,我就去 star 了。

有一个建议,不知道最新版本是否改掉了。鼠标放在控制栏(暂停播放这块功能区)这边的时候,不动鼠标不会自动消失。我觉得可以设置一个超时,时间到了,没有操作就自动隐藏。
clavichord93
2017-06-02 19:22:18 +08:00
散花散花!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365355

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX