HuangRuixiao
发表于 2020-12-10 17:58:37
大佬想问一下,mpv的视频渲染信息里有关解码和渲染一帧时长的是哪些项?
以及为何在用madvr的时候有cuda占用,但是用mpv时就没有了
(双方均关闭硬解,mpv配置代码如下)
profile=gpu-hq
icc-profile-auto
blend-subtitles=video
scale=ewa_lanczossharp
video-sync=display-resample
interpolation
tscale=oversample
# 软解
hwdec=no
# 高优先级
priority=high
profile=gpu-hq
### gpu-api的选择?
## macOS:只有opengl可选
## Linux:vulkan或者opengl,推荐vulkan
## Windows:vulkan、d3d11及opengl都可选。三者理论上vulkan性能最好,但依然推荐d3d11。
## 通过d3d11 api,目前mpv已支持windows的10 bit输出和HDR colorspace的设定。
## HDR metadata pass on正在跟进,独占全屏正在跟进。
#----------------------------------------
### 使用d3d11 (mpv对于windows的默认。显卡注意开自适应电源模式)
gpu-api=vulkan
# 通过d3d11-adapter可以设定mpv使用哪块显卡。详见文档:https://mpv.io/manual/master/#options-d3d11-adapter
# 如果需要记忆上次播放的位置,去掉下面这行的注释。不能与SVP共存,使用SVP必须把此项设为no。
#save-position-on-quit
# 注意,需要mpv.conf所在文件夹有用户写入权限,或者用watch-later-directory=路径来手动指定。
# mpv.conf放APPDATA里是不会有问题的,有问题的是放mpv安装目录但mpv安装目录本身需要管理员权限
# may help with 4K videos
vd-lavc-dr=yes
opengl-pbo=yes
# 如果要插其他视频滤镜,比如deint或者SVP,就要去掉下面这行的注释
#hr-seek-framedrop=no
# "ReClock" replacement
video-sync=display-resample
#video-sync-max-video-change=5
temporal-dither
dither-size-fruit=7
# 默认6。会稍微延缓mpv启动
# 有兴趣也可以测试下error diffusion算法
# smooth motion
interpolation
# interpolation使用的算法。详见https://mpv.io/manual/master/#options-tscale
# 一些讨论见 https://github.com/mpv-player/mpv/issues/2685
# 目前的默认为mitchell。总体而言mitchell更平滑(当然不好和SVP插帧比),但会有模糊。oversample没有模糊,但不平滑(基本还原24帧的样子)
# 具体选择哪个请依据自身需求来
tscale=oversample
# 想看log就取消这行的注释。mpv.log会保存到桌面
#log-file="~~desktop/mpv.log"
icc-profile-auto# 启用校色
icc-3dlut-size=256x256x256
# 默认64x64x64。会稍微延缓mpv启动
# 在mpv.conf所在目录下建一个 shaders_cache 空文件夹,以存放编译好的GPU shaders,加速启动。
# 注意!如果不放APPDATA下,确保该文件夹有用户写入权限。
gpu-shader-cache-dir="~~/shaders_cache"
# 播放结束后不退出
keep-open=yes
# 始终处于最前阶段。配合ontop-playback.lua可以使得暂停之后解除保持最前端。
#ontop
# 对于vulkan,使用ontop容易让驱动选择进入独占全屏。d3d11需要额外的选项,等https://github.com/mpv-player/mpv/pull/6329实现
# 为了应对VFR,禁用刷新率切换
# 下面这个脚本选项主要是个autospeedwin(自动调节显示器的刷新率)用的
#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
# 注意需要自己下载nircmdc,然后在autospeed-nircmdc里给出绝对路径。或者把nircmdc.exe所在位置加到PATH里
# autospeed-monitor=0是主显示器,1、2、3……是其他副显示器
# dwidth dheight bdepth 宽高和位深
# autospeed-rates="23;24;25;29;30;50;59;60",autospeed-exitrate=60 显示器支持的刷新率和退出时应返回的刷新率。23指23.976
# autospeed-spause=4 自动暂停的时间,秒为单位
# WASAPI音频输出(Windows)
# 其他系统请相应更改音频输出方式
ao=wasapi
# 需要独占音频则去掉注释。开启会使得其他程序没声音。
#audio-exclusive=yes
# 如果双声道系统播放多声道影片时有的声道声音没出现,尝试强制设定为双声道
#audio-channels=stereo
# 规格化:
#audio-normalize-downmix=yes
# 多声道音轨downmix成双声道时,如果觉得背景音过响,角色台词声音小,尝试看看这个:https://github.com/mpv-player/mpv/issues/6563
sub-auto=fuzzy
sub-file-paths=subs
slang=chi,zh-CN,sc,chs
#sid=1
# 字幕显示出来和xy-subfilter不一样?尝试启用下面的设置
# 关乎字幕是否随视频拉伸
#sub-ass-vsfilter-aspect-compat=no
# 关乎字幕模糊的设定
#sub-ass-vsfilter-blur-compat=no
# 即使都用上了也不一致?那不是这两个选项的问题,重新注释掉这两行,回帖问吧。(多半是vsfilter/libass其中一个的bug)
audio-file-auto=fuzzy
#audio-file-paths=audio
alang=jpn,ja,eng,en
#aid=1
# 暂时无法根据其他的metadata选择轨道,mpv又默认偏好外挂轨道,常常选到我不想要的音轨
# 有类似情况的话就用aid=1始终选择第一条音轨再自己手动调吧
# 设计者也是这么推荐的:https://github.com/mpv-player/mpv/issues/967#issuecomment-94744964
screenshot-format=png
screenshot-tag-colorspace=yes
screenshot-high-bit-depth=yes
#screenshot-png-compression=0
#screenshot-png-filter=0
# 根据视频是否是HDR以及视频aspect ratio决定是否启用blend-subtitles的profile
# 目前HDR->SDR建议关闭blend-subtitles,见https://github.com/mpv-player/mpv/issues/6368
# 如果hdr-compute-peak将来继续改进可能可以兼容blend-subtitles
profile-desc=cond:(p["video-params/primaries"]=="bt.2020" or p["video-params/aspect"]>=2.0)
blend-subtitles=no
# 使字幕输出在黑边上
sub-ass-force-margins=yes
profile-desc=cond:(p["video-params/primaries"]~="bt.2020" and p["video-params/aspect"]<2.0)
blend-subtitles=yes
sub-ass-force-margins=no
# 以下根据分辨率和视频帧率设置不同的升/降阶算法,以期获得在能不掉帧的情况下达到最好的效果
# 主要针对720p和480p
profile-desc=cond:(p["video-params/w"]<=1810 and p["video-params/h"]<=1018)
glsl-shaders-clr
glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
glsl-shaders-append="~~/shaders/nnedi3-nns64-win8x4.hook" # 720p觉得没压力可以换nns128
glsl-shaders-append="~~/shaders/nnedi3-nns64-win8x4.hook" # 第二次倍增。480p有压力则降nns32
glsl-shaders-append="~~/shaders/SSimDownscaler.glsl" # 觉得有压力可以去掉这个
scale=spline36
sigmoid-upscaling=yes
linear-downscaling=no # 不用SSimDownscaler则一并去掉这个
# 1080p
profile-desc=cond:((p["video-params/w"]<2560 and p["video-params/h"]<1440) and (p["video-params/w"]>1810 or p["video-params/h"]>1018))
glsl-shaders-clr
glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
scale=ewa_lanczossharp
glsl-shaders-append="~~/shaders/SSimSuperRes.glsl"
sigmoid-upscaling=no
linear-downscaling=yes
profile-desc=cond:(p["video-params/w"]>=2560 or p["video-params/h"]>=1440)
glsl-shaders-clr
glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
glsl-shaders-append="~~/shaders/SSimDownscaler.glsl"
scale=spline36
sigmoid-upscaling=yes
linear-downscaling=no
#------scripts------- 以下是脚本
# https://github.com/mpv-player/mpv/blob/master/TOOLS/lua
#autocrop.lua # Shift+c自动切黑边,再按Shift+c复原
autodeint.lua # Ctrl+d 让脚本自动判断需不需要反交错
autoload.lua # 自动加载同目录中的文件
ontop-playback.lua # 暂停播放后窗口不再保持最前
pause-when-minimize.lua# 最小化时暂停
# https://github.com/VideoPlayerCode/mpv-tools/
cycle-video-rotate.lua # 使用快捷键旋转视频
# https://github.com/wiiaboo/mpv-scripts/blob/master/auto-profiles.lua
#auto-profiles.lua # 装了这个才能使用上面这个mpv.conf,用于区分播放的文件所需要的配置
# https://github.com/kevinlekiller/mpv_scripts/tree/master/autospeedwin
autospeedwin.lua # 自动切换刷新率
# https://github.com/rossy/mpv-open-file-dialog
open-file-dialog.lua # Ctrl+o 选择要播放的文件,再也不用手动拖文件进来或者从命令行启动了
#stats.lua # 这个不用单独下了,mpv自带此功能了。用来看profile是否正确工作。i短时间显示,shift+i始终显示osd。按数字键1和2切换两个tab
# 新增可选https://github.com/fbriere/mpv-scripts/blob/master/scripts/tree-profiles.lua
tree-profiles.lua # 可依据文件路径设置profile
hsmms
发表于 2020-12-10 18:24:04
本帖最后由 hsmms 于 2020-12-10 18:32 编辑
HuangRuixiao 发表于 2020-12-10 17:58
大佬想问一下,mpv的视频渲染信息里有关解码和渲染一帧时长的是哪些项?
以及为何在用madvr的时候有cuda占用 ...
说真的你的madvr已经可以更新了
hwdec=no只是代表软解跟你是否使用CUDA加速没有任何关系,你要使用CUDA加速就hwdec=cuda这样
而且CUDA这种东西也不关madvr什么事情吧
HuangRuixiao
发表于 2020-12-10 18:44:44
本帖最后由 HuangRuixiao 于 2020-12-10 18:46 编辑
hsmms 发表于 2020-12-10 18:24
说真的你的madvr已经可以更新了
hwdec=no只是代表软解跟你是否使用CUDA加速没有任何关系,你要使用CUDA加 ...
?madvr是0.92.17版本,现在有新版了吗?
奇怪了,另一边用的是mpc-be+lav+madvr+xysubfliter,lav关闭了硬件加速,只用cpu解码,那这20%的cuda占用是哪里来的???{:4_686:}
hsmms
发表于 2020-12-10 18:46:00
HuangRuixiao 发表于 2020-12-10 18:44
?madvr是0.92.17版本,现在有新版了吗?
奇怪了,另一边用的是mpc-be+lav+madvr+xysubfliter,lav关闭了 ...
0.92.17哪里来的NNEDI3?
hsmms
发表于 2020-12-10 18:48:31
本帖最后由 hsmms 于 2020-12-10 18:54 编辑
HuangRuixiao 发表于 2020-12-10 18:44
?madvr是0.92.17版本,现在有新版了吗?
奇怪了,另一边用的是mpc-be+lav+madvr+xysubfliter,lav关闭了 ...
我现在奇怪的是你的0.92.17怎么会有NNEDI3?
你展开scaling给我看下
而且你20系显卡+win10系统,怎么就d3d9而不是d3d11?
你是不是当时打汉化补丁的时候根本没有更新到最新版本直接覆盖上去的?
hsmms
发表于 2020-12-10 18:58:39
HuangRuixiao
发表于 2020-12-10 19:22:40
hsmms 发表于 2020-12-10 18:48
我现在奇怪的是你的0.92.17怎么会有NNEDI3?
你展开scaling给我看下
我感觉应该是直接使用的VCB-S教程上的预配置注册表文件导致的{:4_686:}
所以这些参数在哪里更改呢?
hsmms
发表于 2020-12-10 19:46:06
本帖最后由 hsmms 于 2020-12-10 19:58 编辑
HuangRuixiao 发表于 2020-12-10 19:22
我感觉应该是直接使用的VCB-S教程上的预配置注册表文件导致的
所以这些参数在哪里更改呢?
...
新版本根本没NNEDI3
madvr目录下restore default settings.bat重置设置,自己手动设置,madvr的教程那个已经早就不适合当期版本了
哪里更改的?你打开的不就是设置界面吗?
HuangRuixiao
发表于 2020-12-10 20:42:20
hsmms 发表于 2020-12-10 19:46
新版本根本没NNEDI3
madvr目录下restore default settings.bat重置设置,自己手动设置,madvr的教程那个已 ...
去官网下载了最新版本设置好了。现在是D3D11了。但是average stats里的信息还没有实现逐步显示,这个在哪里设置呢?
hsmms
发表于 2020-12-10 20:57:47
HuangRuixiao 发表于 2020-12-10 20:42
去官网下载了最新版本设置好了。现在是D3D11了。但是average stats里的信息还没有实现逐步显示,这个在哪 ...
madvr安装目录下创建ShowRenderSteps空文件夹