dmMiniPlayer icon indicating copy to clipboard operation
dmMiniPlayer copied to clipboard

尝试解决分辨率与缩放算法导致的模糊问题

Open Mishasama opened this issue 11 months ago • 3 comments

Fix https://github.com/apades/dmMiniPlayer/issues/66#issuecomment-2606229122 通过让视频画面的分辨率能被4整除,让大部分的缩放算法都能呈现出较为锐利的画面。


另外,我是几乎完全不懂编程写代码,基本上只会IFTTT的。我只是临时现学在瞎寄吧写来提供思路。(谁告诉你我会写代码的?) 你最好先运行测试一下确保不会有奇怪的毛病再合并。

Mishasama avatar Jan 22 '25 14:01 Mishasama

哈哈一回生二回熟嘛,你在你本地电脑试过了这样就清晰了?

    // 确保宽高比不变
    const aspectRatio = vw / vh
    if (width / height > aspectRatio) {
      // 如果宽高比大于原始比率,调整高度
      height = Math.floor(width / aspectRatio)
    } else {
      // 如果宽高比小于或等于原始比率,调整宽度
      width = Math.floor(height * aspectRatio)
    }

这段同样的功能在上面已经有了

apades avatar Jan 23 '25 02:01 apades

你在你本地电脑试过了这样就清晰了?

要是我会编译的话…… 测试的话我是手动设置窗口分辨率来目测的。

不过按照当前的LED显示器成像原理、视频编码技术和相关的缩放算法中的理论,4的倍数可以避免或减少像素抖动的问题,从而提高观感上的清晰度。因为绝大部分的视频都有特定的尺寸比例,而4是它们的公约数。由于没有浮点计算,也就不会有算法计算不精准而导致的模糊问题了。

虽然缩放必然会降低画质,但只要尽可能地避免浮点计算,自然就会得出稳定的画面,看起来就会清晰很多。

这段同样的功能在上面已经有了

那……你修改一下咯,我连深圳I/O那种东西都玩不好,你就当我是0基础的门外汉就好了😂

Mishasama avatar Jan 24 '25 15:01 Mishasama

这里下nodejs,然后进项目里打开命令行npm i && npm dev,会生成dist文件夹

image 然后去edge里打开这个,把dist文件夹拖进去就安装上开发的插件了

你先看看是不是想要的效果,我再merge进去

apades avatar Feb 05 '25 02:02 apades