找回密码
 立即注册
查看: 16700|回复: 57

mpv的色带减弱怎么比madvr差这么多?是我没有在mpv里添加相应的滤镜吗?

25

主题

146

回帖

24

VC币

金牌会员

Rank: 6Rank: 6

积分
48613
HuangRuixiao 发表于 2020-12-13 17:38:50 | 显示全部楼层 |阅读模式
本帖最后由 HuangRuixiao 于 2020-12-13 17:50 编辑

下面三张图是同一场景madvr和mpv的渲染对比(图片请下载查看,网页浏览会因压缩而差别不明显):madvr(包含了配置信息)

madvr

madvr

mpv:

mpv

mpv

mpv-shot0002.png
差别有点大啊,mpv这边有相应的优化滤镜吗?(关了animate4k后毫无改善,所以不是animate4k的问题)
mpv的ewa_lanczossharp的scale算法按理说质量还略优于NGU-AA,所以要如何配置才能让mpv的质量对标madvr呢?


附上mpv.config代码:
  1. icc-profile-auto
  2. blend-subtitles=video
  3. scale=ewa_lanczossharp
  4. #cscale=ewa_lanczossharp
  5. dscale=ewa_lanczossharp
  6. video-sync=display-resample
  7. interpolation
  8. tscale=oversample

  9. # 软解
  10. hwdec=no

  11. #使用OSC
  12. osc=no
  13. load-scripts=yes

  14. # 高优先级
  15. priority=high

  16. #profile=gpu-hq

  17. ### gpu-api的选择?
  18. ## macOS:  只有opengl可选
  19. ## Linux:  vulkan或者opengl,推荐vulkan
  20. ## Windows:vulkan、d3d11及opengl都可选。三者理论上vulkan性能最好,但依然推荐d3d11。
  21. ## 通过d3d11 api,目前mpv已支持windows的10 bit输出和HDR colorspace的设定。
  22. ## HDR metadata pass on正在跟进,独占全屏正在跟进。
  23. #----------------------------------------
  24. ### 使用d3d11 (mpv对于windows的默认。显卡注意开自适应电源模式)
  25. gpu-api=d3d11
  26. # 通过d3d11-adapter可以设定mpv使用哪块显卡。详见文档:https://mpv.io/manual/master/#options-d3d11-adapter

  27. # 如果需要记忆上次播放的位置,去掉下面这行的注释。不能与SVP共存,使用SVP必须把此项设为no。
  28. save-position-on-quit
  29. # 注意,需要mpv.conf所在文件夹有用户写入权限,或者用watch-later-directory=路径来手动指定。
  30. # mpv.conf放APPDATA里是不会有问题的,有问题的是放mpv安装目录但mpv安装目录本身需要管理员权限

  31. # may help with 4K videos
  32. vd-lavc-dr=yes
  33. opengl-pbo=yes

  34. # 如果要插其他视频滤镜,比如deint或者SVP,就要去掉下面这行的注释
  35. #hr-seek-framedrop=no

  36. # "ReClock" replacement
  37. video-sync=display-resample
  38. #video-sync-max-video-change=5

  39. temporal-dither
  40. dither-size-fruit=7
  41. # 默认6。会稍微延缓mpv启动
  42. # 有兴趣也可以测试下error diffusion算法

  43. # smooth motion
  44. interpolation

  45. # interpolation使用的算法。详见https://mpv.io/manual/master/#options-tscale
  46. # 一些讨论见 https://github.com/mpv-player/mpv/issues/2685
  47. # 目前的默认为mitchell。总体而言mitchell更平滑(当然不好和SVP插帧比),但会有模糊。oversample没有模糊,但不平滑(基本还原24帧的样子)
  48. # 具体选择哪个请依据自身需求来
  49. tscale=oversample

  50. # 想看log就取消这行的注释。mpv.log会保存到桌面
  51. log-file="~~/mpv.log"

  52. icc-profile-auto  # 启用校色
  53. icc-3dlut-size=256x256x256
  54. # 默认64x64x64。会稍微延缓mpv启动

  55. # 在mpv.conf所在目录下建一个 shaders_cache 空文件夹,以存放编译好的GPU shaders,加速启动。
  56. # 注意!如果不放APPDATA下,确保该文件夹有用户写入权限。
  57. gpu-shader-cache-dir="~~/shaders_cache"

  58. # 播放结束后不退出
  59. keep-open=yes

  60. # 始终处于最前阶段。配合ontop-playback.lua可以使得暂停之后解除保持最前端。
  61. #ontop
  62. # 对于vulkan,使用ontop容易让驱动选择进入独占全屏。d3d11需要额外的选项,等https://github.com/mpv-player/mpv/pull/6329实现

  63. # 为了应对VFR,禁用刷新率切换
  64. # 下面这个脚本选项主要是个autospeedwin(自动调节显示器的刷新率)用的
  65. #script-opts=autospeed-nircmd=true,autospeed-speed=false,autospeed-nircmdc="C:\nircmd-x64\nircmdc.exe",autospeed-monitor=0,autospeed-dwidth=1920,autospeed-dheight=1080,autospeed-bdepth=32,autospeed-rates="23;24;25;29;30;50;59;60",autospeed-exitrate=60,autospeed-minspeed=0.9,autospeed-maxspeed=1.1,autospeed-osd=true,autospeed-osdtime=10,autospeed-osdkey=y,autospeed-estfps=false,autospeed-spause=4
  66. # 注意需要自己下载nircmdc,然后在autospeed-nircmdc里给出绝对路径。或者把nircmdc.exe所在位置加到PATH里
  67. # autospeed-monitor=0是主显示器,1、2、3……是其他副显示器
  68. # dwidth dheight bdepth 宽高和位深
  69. # autospeed-rates="23;24;25;29;30;50;59;60",autospeed-exitrate=60 显示器支持的刷新率和退出时应返回的刷新率。23指23.976
  70. # autospeed-spause=4 自动暂停的时间,秒为单位

  71. # WASAPI音频输出(Windows)
  72. # 其他系统请相应更改音频输出方式
  73. ao=wasapi
  74. # 需要独占音频则去掉注释。开启会使得其他程序没声音。
  75. #audio-exclusive=yes

  76. # 如果双声道系统播放多声道影片时有的声道声音没出现,尝试强制设定为双声道
  77. #audio-channels=stereo
  78. # 规格化:
  79. #audio-normalize-downmix=yes
  80. # 多声道音轨downmix成双声道时,如果觉得背景音过响,角色台词声音小,尝试看看这个:https://github.com/mpv-player/mpv/issues/6563

  81. sub-auto=fuzzy
  82. sub-file-paths=subs
  83. slang=chi,zh-CN,sc,chs
  84. #sid=1
  85. # 字幕显示出来和xy-subfilter不一样?尝试启用下面的设置
  86. # 关乎字幕是否随视频拉伸
  87. #sub-ass-vsfilter-aspect-compat=no
  88. # 关乎字幕模糊的设定
  89. #sub-ass-vsfilter-blur-compat=no
  90. # 即使都用上了也不一致?那不是这两个选项的问题,重新注释掉这两行,回帖问吧。(多半是vsfilter/libass其中一个的bug)

  91. audio-file-auto=fuzzy
  92. #audio-file-paths=audio
  93. alang=jpn,ja,eng,en
  94. #aid=1
  95. # 暂时无法根据其他的metadata选择轨道,mpv又默认偏好外挂轨道,常常选到我不想要的音轨
  96. # 有类似情况的话就用aid=1始终选择第一条音轨再自己手动调吧
  97. # 设计者也是这么推荐的:https://github.com/mpv-player/mpv/issues/967#issuecomment-94744964

  98. screenshot-format=png
  99. screenshot-tag-colorspace=yes
  100. screenshot-high-bit-depth=yes
  101. #screenshot-png-compression=0
  102. #screenshot-png-filter=0

  103. #vf=vapoursynth="~~/mvtools-blksize64.py":concurrent-frames=25#开启mvtools补帧

  104. # 根据视频是否是HDR以及视频aspect ratio决定是否启用blend-subtitles的profile
  105. # 目前HDR->SDR建议关闭blend-subtitles,见https://github.com/mpv-player/mpv/issues/6368
  106. # 如果hdr-compute-peak将来继续改进可能可以兼容blend-subtitles
  107. [HDR_or_21:9]
  108. profile-cond=(p["video-params/primaries"]=="bt.2020" or p["video-params/aspect"]>=2.0)
  109. blend-subtitles=no
  110. # 使字幕输出在黑边上
  111. sub-ass-force-margins=yes

  112. [SDR_and_16:9]
  113. profile-cond=(p["video-params/primaries"]~="bt.2020" and p["video-params/aspect"]<2.0)
  114. blend-subtitles=yes
  115. sub-ass-force-margins=no

  116. # 以下根据分辨率和视频帧率设置不同的升/降阶算法,以期获得在能不掉帧的情况下达到最好的效果

  117. [SD] # 主要针对720p和480p
  118. profile-cond=(p["video-params/w"]<=1810 and p["video-params/h"]<=1018)
  119. glsl-shaders-clr
  120. glsl-shaders-append="~~/shaders/Anime4K_Upscale_CNN_L_x2_Denoise.glsl"
  121. glsl-shaders-append="~~/shaders/Anime4K_Auto_Downscale_Pre_x4.glsl"
  122. glsl-shaders-append="~~/shaders/Anime4K_Deblur_DoG.glsl"
  123. glsl-shaders-append="~~/shaders/Anime4K_DarkLines_HQ.glsl"
  124. glsl-shaders-append="~~/shaders/Anime4K_ThinLines_HQ.glsl"
  125. glsl-shaders-append="~~/shaders/Anime4K_Upscale_CNN_M_x2_Deblur.glsl"
  126. glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
  127. glsl-shaders-append="~~/shaders/nnedi3-nns128-win8x4.hook" # 720p觉得没压力可以换nns128
  128. glsl-shaders-append="~~/shaders/nnedi3-nns64-win8x4.hook" # 第二次倍增。480p有压力则降nns32
  129. glsl-shaders-append="~~/shaders/SSimDownscaler.glsl" # 觉得有压力可以去掉这个
  130. scale=ewa_lanczossharp
  131. sigmoid-upscaling=yes
  132. linear-downscaling=no # 不用SSimDownscaler则一并去掉这个

  133. [HD] # 1080p
  134. profile-cond=(p["video-params/w"]<2560 and p["video-params/h"]<1440) and (p["video-params/w"]>1810 or p["video-params/h"]>1018)
  135. glsl-shaders-clr
  136. glsl-shaders-append="~~/shaders/Anime4K_Denoise_Bilateral_Mode.glsl"
  137. glsl-shaders-append="~~/shaders/Anime4K_Deblur_DoG.glsl"
  138. glsl-shaders-append="~~/shaders/Anime4K_DarkLines_HQ.glsl"
  139. glsl-shaders-append="~~/shaders/Anime4K_ThinLines_HQ.glsl"
  140. glsl-shaders-append="~~/shaders/Anime4K_Upscale_CNN_M_x2_Deblur.glsl"
  141. glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
  142. scale=ewa_lanczossharp
  143. #glsl-shader-append="~~/shaders/FSRCNNX_x2_16-0-4-1.glsl"
  144. sigmoid-upscaling=no
  145. linear-downscaling=yes

  146. [UHD]
  147. profile-cond= (p["video-params/w"]>=2560 or p["video-params/h"]>=1440)
  148. glsl-shaders-clr
  149. glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
  150. glsl-shaders-append="~~/shaders/SSimDownscaler.glsl"
  151. scale=ewa_lanczossharp
  152. sigmoid-upscaling=yes
  153. linear-downscaling=no


  154. #------scripts------- 以下是脚本
  155. # https://github.com/mpv-player/mpv/blob/master/TOOLS/lua
  156. autodeint.lua            # Ctrl+d 让脚本自动判断需不需要反交错
  157. autoload.lua             # 自动加载同目录中的文件
  158. ontop-playback.lua       # 暂停播放后窗口不再保持最前
  159. pause-when-minimize.lua  # 最小化时暂停

  160. # https://github.com/VideoPlayerCode/mpv-tools/
  161. cycle-video-rotate.lua   # 使用快捷键旋转视频

  162. # https://github.com/kevinlekiller/mpv_scripts/tree/master/autospeedwin
  163. autospeedwin.lua         # 自动切换刷新率

  164. # https://github.com/rossy/mpv-open-file-dialog
  165. open-file-dialog.lua     # Ctrl+o 选择要播放的文件,再也不用手动拖文件进来或者从命令行启动了

  166. # 新增可选  https://github.com/fbriere/mpv-scripts/blob/master/scripts/tree-profiles.lua
  167. tree-profiles.lua        # 可依据文件路径设置profile
复制代码






回复

使用道具 举报

1

主题

66

回帖

0

VC币

中级会员

Rank: 3Rank: 3

积分
6117
黑的白 发表于 2020-12-13 19:41:30 | 显示全部楼层
本帖最后由 黑的白 于 2020-12-13 19:44 编辑

貌似你mpv没开deband,要么你profile=gpu-hq,要么配置加上deband。
https://mpv.io/manual/master/
喜欢研究mpv还得看完上面这个。
具体到deband就
https://mpv.io/manual/master/#options-deband
觉得默认力度不够可以自己看小参说明慢慢调。
回复

使用道具 举报

25

主题

146

回帖

24

VC币

金牌会员

Rank: 6Rank: 6

积分
48613
HuangRuixiao  楼主| 发表于 2020-12-13 20:05:24 | 显示全部楼层
本帖最后由 HuangRuixiao 于 2020-12-13 20:07 编辑
黑的白 发表于 2020-12-13 19:41
貌似你mpv没开deband,要么你profile=gpu-hq,要么配置加上deband。
https://mpv.io/manual/master/
喜欢研 ...

谢谢,色带问题解决了。
mpv-shot0001.png
回复

使用道具 举报

47

主题

2781

回帖

2020

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
432683

崭露头角活跃达人CD!BD!坚持不懈灌水之王日积月累

孤雨独火 发表于 2020-12-13 20:10:41 | 显示全部楼层
ewa_lanczossharp只能算jinc sharp
回复

使用道具 举报

25

主题

146

回帖

24

VC币

金牌会员

Rank: 6Rank: 6

积分
48613
HuangRuixiao  楼主| 发表于 2020-12-13 20:16:54 | 显示全部楼层
孤雨独火 发表于 2020-12-13 20:10
ewa_lanczossharp只能算jinc sharp

emmmm,那mpv这边有质量对标NGU的算法吗?
回复

使用道具 举报

47

主题

2781

回帖

2020

VC币

星辰大海

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
432683

崭露头角活跃达人CD!BD!坚持不懈灌水之王日积月累

孤雨独火 发表于 2020-12-14 00:31:28 | 显示全部楼层
HuangRuixiao 发表于 2020-12-13 20:16
emmmm,那mpv这边有质量对标NGU的算法吗?

不要太过纠结,大部分时候都感知不强,我自己甚至用的是hq默认方案
回复

使用道具 举报

9

主题

279

回帖

4393

VC币

白金会员

Rank: 12Rank: 12Rank: 12

积分
76129
boday 发表于 2020-12-14 01:04:10 | 显示全部楼层
第 20 行,你都把 profile=gpu-hq 注释掉了,deband 根本就没打开的。

第 4 行,色度平面的放大一般不建议用 ewa_lanczossharp 这么锐利的算法(不过你也注释掉了)。

第 5 行,缩小也没必要用 ewa_lanczossharp。

>mpv的ewa_lanczossharp的scale算法按理说质量还略优于NGU-AA

你为什么会有这种理解……这两个完全不是一个类型:前者是传统的算法,后者是基于神经网络的;前者的计算量在传统算法里是比较高的,但远低于后者;效果来说也不好直接比较,前者泛用性远超后者,后者用在合适的片源上效果可能吊打前者。
回复

使用道具 举报

38

主题

1235

回帖

0

VC币

高级会员

Rank: 4

积分
23686
hsmms 发表于 2020-12-14 01:13:05 | 显示全部楼层
boday 发表于 2020-12-14 01:04
第 20 行,你都把 profile=gpu-hq 注释掉了,deband 根本就没打开的。

第 4 行,色度平面的放大一般不建议 ...

NGU med资源占用就只比jinc略高点,NGU low实际上资源占用比Jinc低

回复

使用道具 举报

0

主题

41

回帖

0

VC币

新手上路

Rank: 1

积分
235
MichaelLv 发表于 2020-12-14 10:20:59 | 显示全部楼层
222.png 111.png

个人不建议把deband打开,有可能会减少细节,通过input的配置文件用快捷键来根据视频的情况而选择性的打开,另外deband的强度也可以自行控制,PS: 个人觉得mpv的灰阶表现比madVR更自然些,不过像动画片之类的可能还是madVR更养眼
回复

使用道具 举报

0

主题

41

回帖

0

VC币

新手上路

Rank: 1

积分
235
MichaelLv 发表于 2020-12-14 10:45:47 | 显示全部楼层
444.png
NV12 8bit 4:2:0,那就完全浪费了电脑高端chroma upscaling算法了,电脑配置不行,就在LAV中单单勾选RGB32,可以绕过madVR的chroma upscaling,节省大量的渲染负荷,其效果并不比madVR的NGU差多少。

666.jpg
如果电脑ok,那么就用纯软解,output formats全勾选的话,优先级是10bit的P010,默认就是最好的了,保险点可以单单只勾选P010,并勾选untouched(as input),即完全用madVR来进行RGB的转化。
回复

使用道具 举报

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

本版积分规则

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