惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
宝玉的分享
宝玉的分享
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Last Week in AI
Last Week in AI
博客园 - 司徒正美
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
博客园 - Franky
B
Blog
V
V2EX
J
Java Code Geeks
D
Docker
博客园 - 叶小钗
The Cloudflare Blog
量子位
博客园_首页
MongoDB | Blog
MongoDB | Blog

博客园 - 云舟不系

框架、平台与AI:框架和平台 安装Android开发环境 论架构师的重要性 我们终将成为普通人 察言堪道 [转载]平台即运行时:平台工程的下一步 kbgressdb之数据结构V0.2 kbnet.toolkit.formulas kbgressdb之数据结构V0.1 JK技术汇总 kbnet.xaas.dapi kbnet.xaas.papi 归来兮现在 kbnet.view.eap 人生如若初见 [2core]加解密算法 [2core]条形码+ZXing.NET+SkiaSharp [2core]验证码+SkiaSharp [2core]WorkerService在Windows和Linux下部署与运行
Kodi - 设置视频缓存(解决局域网视频播放卡顿问题)
云舟不系 · 2025-04-07 · via 博客园 - 云舟不系

问题现象

家里有台采用 Android 系统的电视,最近在上面装了个 Kodi 播放器,用来播放局域网里一台 NAS 服务器上的视频。虽然播放 1080P 的电影很流畅,但如果播放 4K 视频就话,就会时不时会卡顿一下。

问题原因

这是由于 Kodi 默认仅开启互联网视频流的播放缓存功能,对于局域网 smb、nfs 等共享视频播放未启用缓存。这是由于网络质量、设备内存不足等因素,就会导致后续视频内容加载的速度跟不上播放速度,从而就出现缓存卡顿。

解决办法1

只要启用缓存功能即可。不过这个无法在 Kodi 图形用户界面中调整,需要用到 advancedsettings.xml 设置文件。下面是具体操作步骤:

1)       首先在电脑上创建一个名为 advancedsettings.xml 的文件,其内容如下:

<advancedsettings>

  <cache>

    <buffermode>1</buffermode>

    <memorysize> 996147200</memorysize>

    <readfactor>20</readfactor>

  </cache>

</advancedsettings>

参数解释:

  1. 缓存模式(buffermode):0(缓冲网络文件http/ftp,默认此模式)、1(缓存所有文件)、2(只缓存网络流媒体http)、3(不缓存)
  2. 缓存区大小(memorysize):单位是bit,上面这数字就相当于950M。各位可以自行修改大小。如果安装的软件很多,可以小一点,反之,则可以大一些。各位自行调试。调出一个适合自己机器的数值出来。一般就修改前两位数字即可。看一些小码率片子,可以明显看到进度条上的缓存加载,当然,看高码率4K看不出来,因为500兆相对于60G左右的片子,在进度条上很不明显。
  3. 缓存填充速率(readfactor):我自己试了几个数字,从路由器的传输数据上,可以明显看到区别,数字低的,传输速率就慢,数字高的,传输速度就快。各位也可以通过看小码率片子的进度条看到缓存加载速度。

    注意:上述配置文件仅使用v18+版本。
    常用缓存:128MB=134217728B,256MB=268435456B,512MB=536870912B

2)       接着我们将 advancedsettings.xml 保存到 Kodi 播放器的 userdata 文件夹中。

不同设备相应的目录有所区别(当然如果之前就有这个文件,直接修改该文件内容也是可以的):

  • Android:Android/data/org.xbmc.kodi/files/.kodi/userdata/
  • iOS:/private/var/mobile/Library/Preferences/Kodi/userdata/
  • Linux:~/.kodi/userdata/
  • Mac:/Users/<your_user_name>/Library/Application Support/Kodi/userdata/ (see note)
  • LibreELEC/OpenELEC:/storage/.kodi/userdata/
  • Windows:Start - type %APPDATA%\kodi\userdata - press <Enter>

由于我替换的是 Android 电视中的文件,会有些麻烦。我这里是在电视上装个 ES 文件浏览器,然后打开“网络”->“远程管理器”->“打开无线网络”,这样 PC 就可以通过 FTP 工具直接访问电视的文件系统了,当然传输文件也不在话下。

注意:要在 ES 文件浏览器中设置“显示隐藏文件”,否则 .kodi 这个文件夹都看不到。

3)       替换或修改完毕后,重启 Kodi。在此播放视频会发现流畅不少,不会再卡顿了。

解决办法2

解决办法1有一个缺陷,由于Android11+版本增强了安全管理,使得解决办法1中的第二步无法执行,打不开Android/data/…文件目录,所以就有了解决方法2。

本方法其实非常简单,不用安装什么ES文件管理器,仅需要把advancedsettings.xml文件置于Kodi的用户配置目录下即可,具体操作过程如下:

1)     打开Kodi程序,点击“设置”按钮,进入设置主页。

 

2)     点击“文件管理”模块按钮,进入文件管理主页。

 

3)     点击左侧“用户配置目录”进入文件目录。同时点击右侧“JK”U盘,找到写好的advancedsettings.xml文件。

 

4)     选中“advancedsettings.xml”文件,长按住,松开,会弹出操作菜单,点击“复制”菜单项,advancedsettings.xml文件就会被复制到左侧目录里。

 

5)     完成上述操作,退出Kodi,重新打开Kodi,就完成了Kodi视频预加载配置。此时使用Kodi打开一个视频文件,你就可以看到视频被预加载到内存中的进度条动态。