Skip to content

缓存选项

本节列出 mpv 的缓冲和缓存选项。

缓存配置

缓存启用

bash
# 启用缓存
cache=yes

# 禁用缓存
cache=no

# 自动缓存
cache=auto

缓存大小

bash
# 缓存大小(字节)
demuxer-max-bytes=150MiB

# 缓存大小(秒)
demuxer-max-secs=10

# 后向缓存
demuxer-max-back-buffer=75MiB

缓存行为

预读取

bash
# 预读取时间(秒)
demuxer-readahead-secs=20

# 预读取字节
demuxer-readahead-bytes=50MiB

# 禁用预读取
demuxer-readahead-secs=0

缓存策略

bash
# 缓存策略
cache-secs=100000

# 缓存文件
cache-file=TMP

# 缓存目录
cache-dir=~/.cache/mpv

缓存文件

文件配置

bash
# 使用临时文件
cache-file=TMP

# 使用内存
cache-file=memory

# 指定文件
cache-file=/path/to/cache

文件清理

bash
# 立即清理
cache-unlink-files=immediate

# 延迟清理
cache-unlink-files=delayed

# 禁用清理
cache-unlink-files=no

网络缓存

网络缓冲

bash
# 网络缓冲大小
demuxer-max-bytes=500MiB

# 网络缓冲时间
demuxer-max-secs=100

# 网络预读取
demuxer-readahead-secs=20

流媒体缓存

bash
# 流媒体缓存
stream-cache=yes

# 流媒体缓冲
stream-buffer-size=64KiB

本地缓存

本地文件缓存

bash
# 本地文件缓存
cache=yes

# 本地缓存大小
demuxer-max-bytes=50MiB

# 本地预读取
demuxer-readahead-secs=5

光盘缓存

bash
# 光盘缓存
disc-cache=50000

# 光盘预读取
disc-readahead=yes

缓存调试

调试信息

bash
# 显示缓存信息
mpv --stats video.mp4

# 显示缓存状态
mpv --msg-level=all=v video.mp4

缓存测试

bash
# 测试缓存
mpv --cache=yes --demuxer-max-bytes=150MiB video.mp4

# 测试预读取
mpv --demuxer-readahead-secs=20 video.mp4

缓存性能

性能优化

bash
# 减少缓存延迟
demuxer-max-secs=5

# 增加缓存大小
demuxer-max-bytes=500MiB

# 优化预读取
demuxer-readahead-secs=10

低延迟配置

bash
# 低延迟缓存
cache=no
demuxer-max-bytes=0
demuxer-max-back-buffer=0
demuxer-readahead-secs=0

缓存故障排除

常见问题

  1. 缓冲区溢出

    • 增加缓冲区大小:demuxer-max-bytes=500MiB
    • 减少预读取:demuxer-readahead-secs=10
  2. 播放卡顿

    • 增加缓存:cache=yes
    • 增加预读取:demuxer-readahead-secs=20
  3. 内存占用高

    • 减少缓存大小:demuxer-max-bytes=50MiB
    • 使用文件缓存:cache-file=TMP

调试命令

bash
# 显示缓存信息
mpv --stats video.mp4

# 测试缓存
mpv --cache=yes --demuxer-max-bytes=150MiB video.mp4

下一步