找回密码
 立即注册
搜索
楼主: boday

[软件] 跨平台的高画质视频播放器 mpv(补充MacBook分辨率设置建议)

[复制链接]
     
发表于 2016-1-11 16:48 | 显示全部楼层
我这也有类似的BUG,用bilidan看bilibili的时候全屏时弹幕一顿一顿的,不平滑。窗口的时候就没问题了。
去掉video-sync=display-resample后一切正常。
回复

使用道具 举报

     
发表于 2016-2-25 10:32 | 显示全部楼层
能支持SVP么和双字幕么?其中一个ass特效的弹幕。
回复

使用道具 举报

     
 楼主| 发表于 2016-2-25 14:24 | 显示全部楼层
172689401 发表于 2016-2-25 10:32
能支持SVP么和双字幕么?其中一个ass特效的弹幕。

svp 没可能。

双字幕可以的,用 --secondary-sid 选项。具体参考文档:
https://github.com/mpv-player/mp ... OCS/man/options.rst
回复

使用道具 举报

     
 楼主| 发表于 2016-3-8 08:19 | 显示全部楼层
20160308 更新:补充了一点 Windows 下的推荐配置命令,方便 Windows 用户尝试。Windows 下现在也可以使用 icc-profile-auto 这个命令了,而且启用 interpolation 时也不用必须指定 display-fps 了,故从正文中删去。另外修改了一些措辞。
回复

使用道具 举报

     
发表于 2016-4-4 22:33 | 显示全部楼层
opengl的渲染器是不是没有实现deinterlacing啊,默认的yadif也太耗资源了吧,i7 4770放1080i的视频掉帧掉得厉害
回复

使用道具 举报

发表于 2016-4-15 19:47 | 显示全部楼层
einhorn 发表于 2016-4-5 00:33
opengl的渲染器是不是没有实现deinterlacing啊,默认的yadif也太耗资源了吧,i7 4770放1080i的视频掉帧掉得 ...

MPV的官方回复是OS X没有提供硬件反交错的API,所以无解。
回复

使用道具 举报

     
发表于 2016-5-6 11:11 | 显示全部楼层
有一个困扰了很久的问题,双击画面获得的全屏能否设置为系统级的单独空间?(就是普通窗口点绿色全屏按钮产生独立桌面空间的那种,Movist设置里的“使用Lion全屏模式”)
因为我觉得border很碍眼就加了no-border隐藏掉,不过这样就不会显示绿色全屏按钮了,双击窗口获得的全屏又会受到鼠标干扰弹出Dock和菜单栏什么的
回复

使用道具 举报

     
 楼主| 发表于 2016-5-6 16:37 | 显示全部楼层
白木亚绘香 发表于 2016-5-6 11:11
有一个困扰了很久的问题,双击画面获得的全屏能否设置为系统级的单独空间?(就是普通窗口点绿色全屏按钮产 ...

不能。很早以前 mpv 是使用 os x 的 native full screen 的,但后来因为些原因改成了现在这样。

不过……即使是点那个绿色按钮产生独立桌面的全屏,移动鼠标也一样会出现 dock  和菜单栏啊。
回复

使用道具 举报

     
 楼主| 发表于 2016-7-17 04:26 | 显示全部楼层
本帖最后由 boday 于 2016-7-17 04:42 编辑

20160716 更新:由于官方 macOS 的编译版本已经半年没更新了,放上一个我自己编译的版本。另外 Windows 现在应该会默认尝试使用 ANGLE(现已支持色彩管理),故去除了 Windows 配置加上 dxinterop backend 的建议。

顺便一说,之前我提到过的 osx 10.11 下苹方系字体字重的问题不知啥时候已经修复了的样子(可能是 libass 0.13.2 吧,不清楚)。这其实也是我想放个新一些的 build 上来的原因之一啦。
回复

使用道具 举报

     
发表于 2016-7-17 07:34 | 显示全部楼层
boday 发表于 2016-7-17 04:26
20160716 更新:由于官方 macOS 的编译版本已经半年没更新了,放上一个我自己编译的版本。另外 Windows 现 ...

https://laboratory.stolendata.net/~djinn/mpv_osx/
回复

使用道具 举报

     
 楼主| 发表于 2016-7-17 17:21 | 显示全部楼层
四点 发表于 2016-7-17 07:34
https://laboratory.stolendata.net/~djinn/mpv_osx/

哦哦哦,原来已经改到这里来了……多谢,顶楼更新了。
回复

使用道具 举报

     
 楼主| 发表于 2016-8-18 02:59 | 显示全部楼层
vo_opengl: reduce default 3dlut-size to 64x64x64
Following testing after ebe798a, this is a more than sufficient size to
cover our use case.

The old default was a drop of about 58 dB PSNR using the old code, and
this new default is about 65 dB PSNR, so it's actually an improvement
despite resulting in a smaller size.

There was no outlier whatsoever when comparing sizes around the 64
nei**ourhood (with every step corresponding to a PSNR drop of about
0.07 dB), so I picked this since it's a power of two and requires no
change to the current 3dlut-size parsing logic.

I also tested smaller sizes such as 32x32x32 which performed almost as
well on colorful samples, but this results in noticeable black boost in
the dark regions, which is pretty undesirable. Therefore, we should
avoid going much further below 64x64x64.

Either way, this new size is so fast to compute that the 3dlut cache is
almost useless on my end. In fact, it might even be slower to load the
profile from the cache than to recompute it from scratch. (For caches on
a disk. For cache on a tmpfs, it makes no difference)

也就是说,如果你不使用更大的 3dlut 尺寸,icc-cache-dir 已经没有必要使用了。

其实这个命令为了简明起见我也从来没有写进顶楼里去……
回复

使用道具 举报

头像被屏蔽
     
 楼主| 发表于 2016-8-18 03:02 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

     
发表于 2016-9-23 09:45 | 显示全部楼层
本帖最后由 startdl 于 2016-9-23 09:47 编辑

伸手党求一个配置文件对了,系统是Sierra,万分感谢
回复

使用道具 举报

     
发表于 2016-10-16 00:00 | 显示全部楼层
暁美ほむら 发表于 2014-6-29 12:56
它那篇4K生成dlut方法是错误的,我已经跟它说过了

它之后会改的

我用DisplayCAL校了个Video rec.1886 icm文件给mpv用icc参数加载,但是用profile loader加载的是普通office web D65的那个icm。我是不是需要在loader里设置排除播放器的主程序禁用profile loader?
回复

使用道具 举报

     
 楼主| 发表于 2016-10-16 02:37 | 显示全部楼层
shikkoku 发表于 2016-10-16 00:00
我用DisplayCAL校了个Video rec.1886 icm文件给mpv用icc参数加载,但是用profile loader加载的是普通offi ...

gamma 2.4 还是 2.2 这个问题我在 mpv 的 github 上问过,得到的答复是:对于 mpv 来说两个不会有任何区别(假设除 gamma 以外其他设置都相同且不考虑测量误差)。至于为啥,我也不懂。
回复

使用道具 举报

     
发表于 2016-10-16 08:17 | 显示全部楼层
本帖最后由 shikkoku 于 2016-10-16 08:19 编辑
boday 发表于 2016-10-16 02:37
gamma 2.4 还是 2.2 这个问题我在 mpv 的 github 上问过,得到的答复是:对于 mpv 来说两个不会有任何区 ...

我的问题和这个有点区别,我是问要不要避免重复加载icc。怕DisplayCAL加载一次,然后MPV有加载一次。两个icc不同。还有,有些参数好像更新了,我用vo=opengl-hq被黄字警告建议我用profile=opengl-hq。
回复

使用道具 举报

     
 楼主| 发表于 2016-10-16 15:29 | 显示全部楼层
本帖最后由 boday 于 2016-10-16 15:31 编辑
shikkoku 发表于 2016-10-16 08:17
我的问题和这个有点区别,我是问要不要避免重复加载icc。怕DisplayCAL加载一次,然后MPV有加载一次。两个i ...

我知道,但我的意思是,你本来就只需要用一个 icc 就可以。

配置文件写法最近做了大改动。不过这个我等下一次 release 版本号更新再更新主帖,毕竟大多数人不会自己拿 git master 去编译。
回复

使用道具 举报

     
发表于 2016-10-18 00:37 | 显示全部楼层
boday 发表于 2016-10-16 02:37
gamma 2.4 还是 2.2 这个问题我在 mpv 的 github 上问过,得到的答复是:对于 mpv 来说两个不会有任何区 ...

好像的确无论我用Gamma 2.2的icc还是用rec.1886的icc最终都是输出Gamma bt.1886。 snip_20161018003618.jpg
回复

使用道具 举报

     
 楼主| 发表于 2016-10-18 01:47 | 显示全部楼层
本帖最后由 boday 于 2016-10-18 01:51 编辑

前面回帖的时候我特意回去翻了翻 github 上的那个超长的 issue 讨论,不过发现貌似后来离题比较远的部分都已经被删掉了,包括我提问的那部分。不过刚才想起来我的邮箱里应该还留有,于是索性贴出来:

The point here is, again, that the concept of color management and the concept of a monitor calibrated to some standard contradict each other. When you use color management, the tone curve of the monitor does not matter (apart from subtleties that are, well, too subtle for this discussion ;–) ).

What does matter, though, is that the ICC display color profile that describes your monitor fits to whatever calibration settings you used. In other words, you have to regard the calibration of the monitor and the ICC display color profile that you (hopefully) created with Argyll at the same time form a unity.
For mpv, it doesn't matter in the slightest what your monitor is calibrated to. Calibration merely makes color management as simple as possible (and allows you to use simple profiles like 3xCurves+Matrix rather than significantly more complicated LUT profiles), and it helps reproduction in other applications (that aren't color calibrated), like video games. Ultimately, for mpv, what you see on the screen is the exact same result no matter what your monitor is calibrated to.
...The gamma value of the display does not matter at all for color management, simply because the corresponding display color profile takes the gamma value into account and as a consequence, the CMM "neutralizes" it, anyway (because the objective of the CMM is to always produce identical colors, based on the data it gets form the color profiles). Originally, the whole gamma thing stems from cathode ray tubes which are not linear (gamma = 1) in their brightness reproduction but had a gamma of roughly 2 - 2.5. At that time, this was nothing anyone intended, it was simply a physical fact. Unfortunately, this whole thing proliferated until today (although LCD display do not have any “natural”/physical gamma curve).

This is a source of endless confusion for people who want to profile their displays. The main culprit for this is the vendors of profiling software, who offer a gamma setting feature in their software, but then don’t explaining what to do with it. (The manual usually says something like "Choose the value you prefer.") Since color management is supposed to make for "objectively correct" colors, it’s completely unclear for users why and how they should “subjectively” choose any specific gamma value.

The truth is that it’s completely meaningless for color management. As @haasn has already pointed out, it does matter if you still use any non color managed applications, because these have to assume some specific display gamma value to calculate the colors they write to the display. Historically, this value was 2.2 for Windows and 1.8 for the Mac (no deeper truth in it; it just was that way). Nowadays, that mostly does not matter (because color management becomes more and more pervasive), but it did matter earlier. For instance, before OS X 10.6 (Snow Leopard) video wasn’t color managed even in QuickTime (computer performance was not up to it at that time). As a result, for video to look correctly, you had to calibrate your monitor to gamma 1.8, because that was what QuickTime assumed. For video player in Windows, it was gamma 2.2. This why cross platform players which did not compensate for that produced wrong colors at least on one of the two platforms.

回复

使用道具 举报

     
发表于 2016-10-18 16:09 | 显示全部楼层
本帖最后由 shikkoku 于 2016-10-18 17:06 编辑
boday 发表于 2016-10-18 01:47
前面回帖的时候我特意回去翻了翻 github 上的那个超长的 issue 讨论,不过发现貌似后来离题比较远的部分都 ...

是不是issues/2815,那讨论串太长实在看不下去。话说我特意下载了http://www.stage1st.com/2b/forum ... 99&pid=28014941的那段偶像大师灰姑娘的片段,用--icc-profile=<file>指定DisplayCal校色的Video (D65 rec.1886) 的ICC文件,阶梯那里一团黑,而用--icc-profile-auto自动加载Windows默认的Office & Web (D65, Gamma 2.2)参数校色的ICC倒是能看到阶梯了。
回复

使用道具 举报

     
 楼主| 发表于 2016-10-18 21:25 | 显示全部楼层
shikkoku 发表于 2016-10-18 16:09
是不是issues/2815,那讨论串太长实在看不下去。话说我特意下载了http://www.stage1st.com/2b/forum.php?m ...

不是 #2815,是 #534。

至于为啥你这两个看起来结果不一样我就不清楚了……
回复

使用道具 举报

     
 楼主| 发表于 2016-10-18 22:05 | 显示全部楼层
@shikkoku

唔,我仔细想了一下,你这个问题大概应该是这么一回事:

首先,一个 icc profile 文件里的信息,可以分成两个部分:
1. 校正曲线 calibration curve(s),也叫 video card gamma table(VCGT);
2. 屏幕的特性描述,也就是真正的 profile(可以是 matrix 形式或者 LUT 形式)。

做一次校色,一般都会先进行“校正”(calibrating),再进行特性的测量(profiling)。那么,profiling 得到的结果,应该仅在屏幕处于之前 calibrating 得到的结果被启用的状态下才有意义。

你现在这两个 icc 文件,一个包含了校正到 gamma 2.2 的曲线,以及在 2.2 时你的屏幕的 profile;另一个包含了校正到 gamma 2.4 的曲线,以及在 2.4 时你屏幕的 profile。

作为视频渲染器,执行色彩管理的时候可以有两种策略:
1. 完全忠于你指定的 icc 文件;即重置显卡的 gamma table,载入指定的 icc profile 中的校正曲线以及 profile,生成 LUT,然后做相应的的颜色转换;
2. 默认显卡中已经载入的校正曲线是正确的,只读取 icc 文件中的 profile 来生成 LUT,然后做相应的颜色转换。

(这两者的区别其实就是 madvr 设置里面是否勾选那个“disable GPU gamma ramps”的作用)

现在你系统加载了 2.2 的 icc 文件,mpv 使用 2.2 的 icc 文件时结果正确(姑且认为能看见楼梯影子是正确的,理论上应该如此),而 mpv 使用 2.4 的 icc 文件结果却不一样,说明,mpv 选择执行的是上述策略 2。

那么据此可以推测,如果你系统加载 2.4 的 icc 文件,mpv 也使用 2.4 的 icc 文件,得到的结果也应该是正确的。而系统和 mpv 使用的 icc 文件不一致时,结果就不正确。这也就回答了你一开始的问题。

你有兴趣的话可以试试……
回复

使用道具 举报

     
发表于 2016-10-18 22:43 | 显示全部楼层
boday 发表于 2016-10-18 22:05
@shikkoku

唔,我仔细想了一下,你这个问题大概应该是这么一回事:

似乎确实如此,我把Rec.1886 icc设为设备默认后,--icc-profile-auto加载Windows设备默认的Rec.1886能看到差不多的效果。不过这样的话--icc-profile=<file>好像就没什么意义了。话说我没有用Windows的那个加载ICC,而是用DisplayCAL loader的。不过我也在设置中排除了mpv进程加载(默认情况下madvr启用时会自动禁用loader)。
回复

使用道具 举报

     
 楼主| 发表于 2016-10-18 23:53 | 显示全部楼层
@shikkoku

不过这样的话--icc-profile=<file>好像就没什么意义了。
windows 和 macos 可以直接 auto,有些 linux 是不行的,所以……
话说我没有用Windows的那个加载ICC,而是用DisplayCAL loader的。
这样确实更好,不过用系统自带也没啥大问题,就是精度差点。
不过我也在设置中排除了mpv进程加载(默认情况下madvr启用时会自动禁用loader)。
我不知道这个 loader 设置例外之后会不会自动重置显卡中已加载的校正曲线。如果会的话,那么就不要为 mpv 设置例外(因为 mpv 生成的 LUT 是以显卡已加载校正曲线为前提的,见上面回帖);如果不会的话就无所谓了。那么综合起来说,没有必要为 mpv 设置例外。
回复

使用道具 举报

     
发表于 2016-10-19 20:15 | 显示全部楼层
本帖最后由 shikkoku 于 2016-10-19 20:27 编辑

@boday

我不知道这个 loader 设置例外之后会不会自动重置显卡中已加载的校正曲线。如果会的话,那么就不要为 mpv 设置例外(因为 mpv 生成的 LUT 是以显卡已加载校正曲线为前提的,见上面回帖);如果不会的话就无所谓了。那么综合起来说,没有必要为 mpv 设置例外。

不会重置,因为禁用和重置是两个选项。madvr运行的时候也只是禁用loader(变灰)而不是变成红色的重置状态。

windows 和 macos 可以直接 auto,有些 linux 是不行的,所以……

看了下log,Windows下我指定了ICC,但是不知道为什么仍会另外再读取我windows色彩管理里默认配置的那个一次(也就是读取了一次指定的icc然后再读取一次windows默认设置的icc)。可能暗部丢失问题就是出在这个。
回复

使用道具 举报

     
 楼主| 发表于 2016-10-21 03:08 | 显示全部楼层
20161020 更新:根据最近的改动更新了配置文件的写法。原来的 --vo=opengl-hq 改为 --profile=opengl-hq,并且原来 --vo 下的子选项现在都已成为独立选项,不需要写在同一行用冒号隔开了。另外删除了一些已经不必要的说明(macOS 下自 10.11 以来全屏性能问题应该已经解决,windows 下现在默认设置下应该不会那么容易出现撕裂了)。
回复

使用道具 举报

     
发表于 2016-10-21 11:13 | 显示全部楼层
boday 发表于 2016-10-21 03:08
20161020 更新:根据最近的改动更新了配置文件的写法。原来的 --vo=opengl-hq 改为 --profile=opengl-hq, ...

Windows下可以顺便加一条
  1. sub-paths=ass;srt;sub;subs;subtitles
复制代码
方便把外挂字幕放在文件夹里。Windows下冒号要更换成分隔号。
回复

使用道具 举报

     
发表于 2016-10-22 15:00 | 显示全部楼层
本帖最后由 四点 于 2016-10-22 15:18 编辑

配置越来越复杂了,看那配置文件我要死了。-- NORMAL --
回复

使用道具 举报

发表于 2016-10-25 07:41 | 显示全部楼层
# place this file in ~/.config/mpv/
# default video option
profile=opengl-hq
icc-profile-auto
interpolation
video-sync=display-resample
# fuzzy match subtile file's name
sub-auto=fuzzy
# use utf-8 and chinese as default charset
sub-codepage=utf8:gb18030
# use PingFang SC as the mpv and subtitle's font family
osd-font='PingFang SC'
sub-text-font='PingFang SC'


这是我 mac 下的设置。

怎么把新版本的导航了回复到旧版本啊!新版一大坨在下面很不好看啊
回复

使用道具 举报

     
 楼主| 发表于 2016-10-25 16:58 | 显示全部楼层
陈永仁 发表于 2016-10-25 07:41
这是我 mac 下的设置。

怎么把新版本的导航了回复到旧版本啊!新版一大坨在下面很不好看啊 ...

try this?

https://github.com/mpv-player/mp ... onfigurable-options

layout=box
回复

使用道具 举报

发表于 2016-10-25 22:15 | 显示全部楼层
不好用,用了没效果,还是下面一坨
回复

使用道具 举报

     
 楼主| 发表于 2016-10-25 23:01 | 显示全部楼层
陈永仁 发表于 2016-10-25 22:15
不好用,用了没效果,还是下面一坨
The OSC offers limited configuration through a config file lua-settings/osc.conf placed in mpv's user dir and through the --script-opts command-line option. Options provided through the command-line will override those from the config file.

Command-line Syntax

To avoid collisions with other scripts, all options need to be prefixed with osc-.

我猜你是不是没仔细看这几行……

script-opts=osc-layout=box
回复

使用道具 举报

     
 楼主| 发表于 2016-10-25 23:06 | 显示全部楼层
另外,
sub-text-font='PingFang SC'

sub-text-font 现在改成 sub-font 了,sub-text-font-size 也改成 sub-font-size 了。

如果你在命令行下运行的话会提示让你修改。
回复

使用道具 举报

     
 楼主| 发表于 2017-1-4 17:57 | 显示全部楼层
20170104 更新:考虑到本教程的傻瓜化以及多数人并不会看太多标清视频了,去掉了使用 jinc 建议。另外修改了部分措辞。
回复

使用道具 举报

     
发表于 2017-1-6 10:29 | 显示全部楼层
本帖最后由 1106hong 于 2017-1-6 10:31 编辑

已经有人把MPV做了GUI化并且开源了。
介绍:https://zhuanlan.zhihu.com/p/24700324
官网:https://lhc70000.github.io/iina/zh-cn/
github:https://github.com/lhc70000/iina

希望LZ可以合并到主楼方便初级用户
回复

使用道具 举报

     
发表于 2017-4-12 01:43 | 显示全部楼层
iina不错的,话说svp论坛上有人说能让iina支持svp,有人成功了吗?
我试了好几次都出问题,基本上都会卡死
https://www.svp-team.com/forum/viewtopic.php?id=3758
回复

使用道具 举报

     
发表于 2017-5-9 23:04 | 显示全部楼层
1106hong 发表于 2017-1-6 10:29
已经有人把MPV做了GUI化并且开源了。
介绍:https://zhuanlan.zhihu.com/p/24700324
官网:https://lhc7000 ...

这个只有Mac版吧。
回复

使用道具 举报

     
发表于 2017-5-10 17:09 | 显示全部楼层
shikkoku 发表于 2017-5-9 23:04
这个只有Mac版吧。

yes
回复

使用道具 举报

发表于 2017-7-18 14:06 | 显示全部楼层
iina 似乎不支持 smooth motion,mac 下折腾半天还是换回 mpv 了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-15 05:37 , Processed in 0.049834 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表