xfangfang / wiliwili

第三方B站客户端,目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上
https://xfangfang.github.io/wiliwili
GNU General Public License v3.0
2.98k stars 145 forks source link

1.4.0版本部分视频2倍速播放画面掉帧卡顿 #335

Closed TomoeMami closed 2 months ago

TomoeMami commented 2 months ago

相同视频,在1.4.0下2倍速播放声音正常,画面掉帧卡顿;退回到1.3.0版本无问题。

xfangfang commented 2 months ago

@TomoeMami 是否正在使用从商店下载的flatpak版本?如果不是,那您说的是哪个平台?从哪个渠道由哪种方式安装的。

TomoeMami commented 2 months ago

@TomoeMami 是否正在使用从商店下载的flatpak版本?如果不是,那您说的是哪个平台?从哪个渠道由哪种方式安装的。

Github Release下载的Windows x64版本,开启全屏模式和硬件解码。

播放1080p60fps视频,开启2倍速,点击视频区域放大后就会掉帧。

经测试,在两台设备上均可复现,关闭硬件解码后正常。

系统均为Windows11。设备配置分别为:

  1. 5800X3D+6700XT
  2. 3700X+6600XT

测试视频:https://www.bilibili.com/video/BV16s421P7aV

xfangfang commented 2 months ago

@TomoeMami 分别使用下面两个版本: https://nightly.link/xfangfang/wiliwili/workflows/build.yaml/yoga/wiliwili-Windows-1662ec4-d3d-x86_64.zip https://nightly.link/xfangfang/wiliwili/workflows/build.yaml/yoga/wiliwili-Windows-1662ec4-gl-x86_64.zip

全屏 硬解 关闭弹幕 放大视频区域 按 f1,并发送两个截图

TomoeMami commented 2 months ago

d3d d3d

gl gl

奇怪了,同一个视频现在用正式release版播放,硬解又不掉帧卡顿了。

这么看来应该是我网络的问题。

xfangfang commented 2 months ago

顺带一提,有可能需要更新驱动,有人提及AMD在24年1月的驱动更新修复了d3d11va硬解在AMD显卡上的问题。


如果是掉帧那应该和网络没有关系


查了一下,这两个显卡都支持 av1 硬解,也可以在设置中切换到 av1,可以减少一大半带宽占用

TomoeMami commented 2 months ago

接电视的那台电脑(3700x+6600XT)用正式版还是出现了全屏硬解2倍速掉帧卡顿,软解正常,驱动已更新至24.3.1。游戏电脑软硬解倍速均正常。

image

设置如图

image

xfangfang commented 2 months ago

需要重新发送一下我前面发的那两个版本的截图,顺便重点测试一下 gl 版是否掉帧


再测试一下正式版非全屏,窗口略小时是否掉帧

TomoeMami commented 2 months ago

全屏硬解

d3d版一开始掉帧

image

播放一阵后好点了

image

gl版正常

image

正式版,非全屏模式

小窗正常

image

点击占满窗口后掉帧

image

xfangfang commented 2 months ago

正式版 视频编码换到 h264 或者 av1 会有改善吗?

xfangfang commented 2 months ago

正式版 点击屏幕镜像播放 会有改善吗?(播放器右上角菜单里)

TomoeMami commented 2 months ago

hevc格式,镜像播放后2倍速不掉帧;

av1格式,2倍速播放一段流畅一段掉帧;

avc格式,2倍速播放一直掉帧。

我用hevc格式的主要原因是想看一些杜比视界视频,好像只有hevc格式。

xfangfang commented 2 months ago

wiliwili 现在应该不支持播放杜比视界 HDR之类的,有这个需求可能要用官方客户端了。

有这么两个解决方案:

  1. 如果要用正式版,你可以点击 设置 -> 实用工具 -> 打开配置目录,编辑目录下的 json 文件,添加 "player_hwdec_custom": "d3d11va-copy"

改好之后大概结构长这样(不要删除已有的内容,修改之前先关闭应用):

{
  "setting": {
    "player_hwdec": true,
    "player_hwdec_custom": "d3d11va-copy"
  }
}

也可以试试其他硬解方案,比如 dxva2 或 dxva2-copy

加了 copy 后CPU占用会稍微提升一些,但是显示的颜色会更准确。(但原本d3d11va的颜色就已经足够好了,所以这个是治标不治本的方法)

  1. 或者可以直接使用前面发的 gl 版,1.3.0就是用的 OpenGL,显卡占用会比D3D版高一些

还有这么几个可能的排查方法:

  1. 检查电脑的节能设置(我感觉很有可能是这个缘故)
  2. 直接使用 mpv 播放器开启硬解全屏2倍速测试
  3. 将视频分辨率设置为 360P,按原有参数再测试一下
  4. 将两个主机显示器交换,分别测试一下
TomoeMami commented 2 months ago

wiliwili 现在应该不支持播放杜比视界 HDR之类的,有这个需求可能要用官方客户端了。

可以播放。设置hevc格式,点开linkphotograph的视频,清晰度选杜比视界,就会发现画面亮度和普通SDR视频有明显区别。

当然也会有些小问题,比如影视飓风的杜比视界会偏色,不过我不看他的HDR视频所以也无所谓。

xfangfang commented 2 months ago

有时间可以验证一下我上一条评论说的那几条排查方法,能测试几条就测试几条,比如 如果真的是和节能设置有关,那我就总结进wiki里,避免其他人再遇到类似的问题。

TomoeMami commented 2 months ago

没开节电模式。

image

所以wiliwili默认在pc上也是不开启硬解的,开启的话默认也是h264。 https://github.com/xfangfang/wiliwili/issues/220#issuecomment-1792646165

最简单的方法还是换成软解。

xfangfang commented 2 months ago

确实,如果只是个别显卡有问题,之后更新mpv版本没准就不一定什么时候就修复了,只是想排除一下wiliwili自身的问题,尤其是小窗不卡全屏卡,这很像是wiliwili导致的问题,有机会我拿AMD显卡测试看看吧。