找回密码
 立即注册
查看: 1490|回复: 6

求教一个关于mpv缓存的问题

该用户从未签到

3

主题

9

回帖

0

VC币

新手上路

Rank: 1

积分
145
yuu 发表于 2022-7-27 06:02:54 | 显示全部楼层 |阅读模式
mpv哪个设置选项能先使用一段时间的缓存内容,然后再把缓存一次性向前推进来补上。

否则对于大一点的视频文件,没办法全读进内存,那么达到最大缓存设定后,照样还是边播放边读取,那开缓存以减少硬盘运转时间的意义就没有了啊
回复

使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-20 00:17
  • 签到天数: 794 天

    [LV.10]以坛为家III

    12

    主题

    319

    回帖

    8503

    VC币

    星辰大海

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

    积分
    810125
    tmdtmdtmdqq 发表于 2022-7-27 12:00:05 | 显示全部楼层
    你可能对 缓存 理解有误
    缓存的意义在于:解决存储器性能跟不上CPU性能的问题,并不是为了减少存储器的运行时间(通俗一点说,是为了解决卡顿问题)
    某些场景下,开启了缓存的确会使得存储器的运行时间减少,比如频繁读取某一段刚好在缓存中的数据,这样就不会去存储器里读取了。

    我没看过播放器的渲染代码,但是按照正常理解,播放器播放一次视频,一般只会使用视频数据一次(或几次?),并不会很频繁地使用某一段视频数据。所以实际上,存储器的运行时间并不会有很实质性的缩短。只是减少了一点读取存储器的次数。

    一旦缓存里的数据不命中(在缓存中找不到需要的数据),就会再次读取存储器里的数据到快速存储(内存),这是缓存的设计原理,正常操作。

    你所说的硬盘运行时间(对HDD的来说)实际上包含2部分:寻道时间+数据传输时间。

    你想减少存储器读取次数的话,就开大缓存,让它一次性载入全部数据。因为存储器的读取次数减少了,存储器的运行时间(主要是减少了寻道时间,而数据传输时间基本不会变,因为数据还是至少要全部读取一次的)也会相应缩短一些。

    总而言之就是,一般情况下,缓存不会减少你磁盘的运行时间,只会减少你磁盘的运行次数。因为磁盘运行次数减少了,所以磁盘的运行时间可能随之减少了一点,减少的那部分主要是磁盘的寻道时间。

    欢迎报错继续向上改进我改进过的字幕。
    请勿将无实质性修改、劣化精简本人改进过的字幕重新发布到此论坛:如仅改名、仅打包、修改总错字数≤5、删除特效等。       ——20230204
    本人改进过的字幕,禁止以任何形式进行商用。若要附带在视频、种子中发布,请先咨询。      ——20231203
    一些字幕搜寻、制作的方法和经验汇总  →  >>>帖子<<<
    回复 支持 0 反对 1

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    回帖

    0

    VC币

    新手上路

    Rank: 1

    积分
    145
    yuu  楼主| 发表于 2022-7-27 12:46:38 | 显示全部楼层
    tmdtmdtmdqq 发表于 2022-7-27 12:00
    你可能对 缓存 理解有误
    缓存的意义在于:解决存储器性能跟不上CPU性能的问题,并不是为了减少存储器的运行 ...

    我的意思是在不开缓存时,播放器默认是边播放边读取硬盘,这样就怕工作时震动开了缓存以后,就可以在一开始读进内存,对于小一点的文件来说,在一开始的十几秒全速读取时我可以保证硬盘静止,一旦全部读进内存,硬盘就不需要工作了。甚至第二次读取时硬盘灯都不亮的
    回复 支持 0 反对 1

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-20 00:17
  • 签到天数: 794 天

    [LV.10]以坛为家III

    12

    主题

    319

    回帖

    8503

    VC币

    星辰大海

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

    积分
    810125
    tmdtmdtmdqq 发表于 2022-7-27 13:12:22 | 显示全部楼层
    你这种需求的话,如果你内存够大,可以建个内存盘试试
    直接把数据复制到内存盘操作,这样就完全一次性读取了

    内存盘工具挺多,我都用好几年了。当前使用的是GiliSoft RAMDisk
    欢迎报错继续向上改进我改进过的字幕。
    请勿将无实质性修改、劣化精简本人改进过的字幕重新发布到此论坛:如仅改名、仅打包、修改总错字数≤5、删除特效等。       ——20230204
    本人改进过的字幕,禁止以任何形式进行商用。若要附带在视频、种子中发布,请先咨询。      ——20231203
    一些字幕搜寻、制作的方法和经验汇总  →  >>>帖子<<<
    回复 支持 0 反对 1

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-2-20 00:17
  • 签到天数: 794 天

    [LV.10]以坛为家III

    12

    主题

    319

    回帖

    8503

    VC币

    星辰大海

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

    积分
    810125
    tmdtmdtmdqq 发表于 2022-7-27 13:25:57 | 显示全部楼层
    硬盘灯亮不亮,跟磁头位置、盘片转动无直接对应关系。
    灯不亮不一定代表说磁头就复位、磁盘就不转,只是没读/写而已。盘片该转的还是在转。

    如果是移动硬盘,超过时限自动休眠了的话,还好说。

    通电后的硬盘最好还是不要有震动或移动什么的,你是不会晓得电脑里还会有什么软件突然会读/写你的硬盘的(系统自带整理工具?杀毒软件?)

    欢迎报错继续向上改进我改进过的字幕。
    请勿将无实质性修改、劣化精简本人改进过的字幕重新发布到此论坛:如仅改名、仅打包、修改总错字数≤5、删除特效等。       ——20230204
    本人改进过的字幕,禁止以任何形式进行商用。若要附带在视频、种子中发布,请先咨询。      ——20231203
    一些字幕搜寻、制作的方法和经验汇总  →  >>>帖子<<<
    回复 支持 0 反对 1

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-12-4 12:48
  • 签到天数: 42 天

    [LV.5]常住居民I

    45

    主题

    2692

    回帖

    2020

    VC币

    星辰大海

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

    积分
    394182

    崭露头角活跃达人CD!BD!

    孤雨独火 发表于 2022-7-27 21:50:37 | 显示全部楼层
    本帖最后由 孤雨独火 于 2022-7-27 22:01 编辑
    1. cache = yes
    2. demuxer-max-bytes = 10240MiB
    复制代码

    回复 支持 0 反对 1

    使用道具 举报

    该用户从未签到

    3

    主题

    9

    回帖

    0

    VC币

    新手上路

    Rank: 1

    积分
    145
    yuu  楼主| 发表于 2022-7-27 23:07:03 | 显示全部楼层

    知道你的意思,我也是差不多这么设置的,但是问题在于

    当碰到一个体积大于设定值的文件时,缓存始终都是固定的,这样不就这边在播放,前面还在读取,那样不就和不开缓存没区别了吗,

    总不可能什么情况都全部读进内存里啊。

    我想要的效果时读进这10G以后,先用这部分缓存,用到比如只剩500M时再一次性把10G设定值给填满,这样就减少了硬盘持续运行时间
    回复 支持 0 反对 1

    使用道具 举报

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

    本版积分规则

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