dqtql 发表于 2024-5-19 20:34:30

【已解决】mpv播放4kHDR视频卡顿

本帖最后由 dqtql 于 2024-5-19 23:45 编辑

自己配置的mpv播放器,播放4kHDR视频一直在掉帧,使用potplayer和坛友提供的mpv-DW播放器均能流畅播放,说明电脑硬件性能是足够的。下面附上自己配置的mpv的配置文件和mpv-dw的配置文件,望有大佬解惑。
#自己配置的mpv的conf文件
#播放
pause
save-position-on-quit = no
interpolation=yes
tscale=oversample
no-osd-bar

vo = gpu
gpu-context = d3d11
hwdec=auto-copy

#音频
alang = Japanese,jpn,JPN
volume-max = 100 # 最大音量设置为100%
#af = dynaudnorm=f=250:r=0.9:p=0.58:g=47:s=15:m=12
#af-append = loudnorm:I=-14:LRA=11:TP=-1
#af-append = aresample=osr=48000:osf=s16:resampler=soxr:precision=28

#视频
deband=yes #去色带

#色彩管理
icc-profile-auto=no

#字幕
slang = 'chs,sc,ts,zh,简,簡,zho,简日,chi,简体,Chinese'
sub-auto = fuzzy # 如果找到模糊匹配的字幕,则自动选择
sub-font = '方正黑体_GBK'
sub-font-size = 45 # 字幕字体大小设置
sub-color = '#FFFFFFFF'
sub-border-size = 1.5
sub-use-margins = no
sub-auto=fuzzy
image-subs-video-resolution=no

#osc
osc=no

#mpv-dw配置文件
# Editor
vo = gpu
gpu-context = d3d11
ao = wasapi # 音频通道
volume = 100 # 默认音量
audio-file-auto = fuzzy # 设置自动模糊匹配音频文件
osd-bar-w = 100 # 设置 OSD 水平宽度(%)
osd-bar-h = 0.1 # 设置 OSD 垂直高度(%)
osd-bar-align-y = -1 # 设置 OSD 垂直对齐方式:-1 表示顶部对齐,0 表示居中,1 表示底部对齐
osd-border-size = 1 # 设置 OSD 边框大小(单位为像素)
osd-font-size = 25 # 设置 OSD 字体大小(单位为像素)
osd-duration = 1000 # 设置 OSD 显示时间(单位为毫秒)
osd-on-seek = no
audio-device = 'auto'
alang = Japanese,jpn,JPN
sigmoid-upscaling = yes # 将 Sigmoid 函数应用于音量增益,使音量变化更加平滑
dither-depth = 10 # 设置抖动深度,单位为位数。较大的值将提高音频质量,但也会增加计算成本
slang = 'chs,sc,ts,zh,简,簡,zho,简日,chi,简体,Chinese'
screenshot-template = 'D:\截图自动保存/%tY-%tm-%td_%tH-%tM-%tS'
screenshot-format = png # 默认截图格式
screenshot-jpeg-quality = 100 # 截图质量(%)
screenshot-png-compression = 4 # 截图压缩等级(不影响图像质量,0-9,0为不压缩,输出最快)
interpolation = yes # 启用插值

osc = no # 暂停时osc隐藏
target-colorspace-hint = yes # 提示目标色彩空间
volume-max = 130 # 最大音量设置为130%
image-display-duration = 8 # 将图片文件显示持续时间设置为8秒
fullscreen = no # 启用全屏模式(yes & no)
force-window = yes # 强制使用窗口模式
sub-auto = fuzzy # 如果找到模糊匹配的字幕,则自动选择
sub-font = '方正黑体_GBK'
sub-font-size = 50 # 字幕字体大小设置
sub-color = '#FFFFFFFF'
sub-border-size = 1.5
screenshot-tag-colorspace = yes
dscale = bilinear
tscale = oversample
idle = no
autofit = 52
loop-playlist = no
screenshot-webp-lossless = yes
pause = yes
hwdec = auto-copy
hr-seek-framedrop = no
sub-ass-vsfilter-aspect-compat = no

#loudnorm
#af-toggle = @audnorm:lavfi=
#dynaudnorm
#af-toggle = @dynnorm:lavfi=

#af-append = loudnorm:I=-14:LRA=11:TP=-1
#af-append = aresample=osr=48000:osf=s32:resampler=soxr:precision=28
sub-use-margins = no
save-position-on-quit = yes

Finn 发表于 2024-5-19 22:15:28

最后面加一行,新版mpv现在默认profile=high-quality会增加性能开销,mpv.net及衍生版可能还没改
profile=fast

dqtql 发表于 2024-5-19 23:18:38

本帖最后由 dqtql 于 2024-5-19 23:50 编辑

Finn 发表于 2024-5-19 22:15
最后面加一行,新版mpv现在默认profile=high-quality会增加性能开销,mpv.net及衍生版可能还没改
...
加上这段代码后确实改善明显,原来一秒掉十几帧,现在一秒掉1.1帧。用mpv-dw播放的时候是稳定不掉帧的,感觉还是有差距。我在bgm上也发帖求助,有大佬建议我按照以下方式进行修改。修改后稳定不掉帧了(但是去掉大佬的profile=fast还是会掉帧,所以原因应该是两方面都有),非常感谢!

bgm大佬修改方式:
原代码
vo = gpu
gpu-context = d3d11
hwdec=auto-copy

修改为
vo=gpu-next
# gpu-context = d3d11 (不填写)
hwdec=auto-safe
原因:可能是d3d11硬件解码的兼容问题导致未启用,或者复制回系统内存的解码导致CPU/内存带宽不足




页: [1]
查看完整版本: 【已解决】mpv播放4kHDR视频卡顿