家庭多媒体中心查询
Jan. 22, 2022
Kodi(以前叫XBMC)是一款强大的开源媒体播放器软件,支持 MacOS、Windows、Linux、Android等多系统平台。Kodi 的局域网视频播放功能异常强大;默认情况下 Kodi 的资料库是独立的,这就带来一个很大的问题,当家里有多个Kodi终端的话,资料的同步是个很大的问题。 Kodi(以前叫XBMC)是一款强大的开源媒体播放器软件,支持 MacOS、Windows、Linux、Android等多系统平台。Kodi 的局域网视频播放功能异常强大;默认情况下 Kodi 的资料库是独立的,这就带来一个很大的问题,当家里有多个Kodi终端的话,资料的同步是个很大的问题。
综合篇 管理篇 播放篇 流媒体服务 查询篇(本文) 提出问题 Kodi 刮削的内容默认都是存在设备本地存储上的,而电影都是统一存储在 NAS 里的,如果想要每台安装了 Kodi 的设备都显示一样的资料库该怎么办?
解决方案 首先我们想到的就是能不能用数据库来统一管理?结果还真是可行的,只需要我们在群晖上安装数据库和共享刮削资料的文件夹即可。具体的步骤略过,只要仔细阅读参考文档即可。这里只提示关键的步骤。
从【套件中心】安装MariaDB数据库; title 从【套件中心】安装PHPMyAdmin,用于管理MariaDB数据库; title 为Kodi注册一个数据库用户,当然你也可以用root,但从安全性考虑,强烈不建议这么做。 如果你已经用了Kodi,选择具有最新库的机器,打开Kodi并进入设置>媒体设置>导出库。 创建advancedsettings.xml文件
<advancedsettings> <services> <esallinterfaces>true</esallinterfaces> <webserver>true</webserver> <zeroconf>false</zeroconf> </services>
<videodatabase>
<type>mysql</type> //数据库类型mysql
<host>192.168.0.199</host> //数据库所在设备IP地址
<port>3306</port>
<user>kodi</user> //数据库用户名
<pass>123456</pass> //数据库密码
</videodatabase>
<musicdatabase>
<type>mysql</type>
<host>192.168.0.199</host>
<port>3306</port>
<user>kodi</user>
<pass>123456</pass>
</musicdatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate> //导入观看状态
<importresumepoint>true</importresumepoint> //导入播放记录点
</videolibrary>
<pathsubstitution>
<substitute>
<from>special://profile/Thumbnails/</from>
<to>smb://192.168.0.199/kodi/XBMCData/Thumbnails/</to> //替换刮削所得图片保存路径
</substitute>
</pathsubstitution>
<pathsubstitution>
<substitute>
<from>special://profile/sources.xml/</from>
<to>smb://192.168.0.199/kodi/XBMCData/sources.xml/</to> //源文件的设置
</substitute>
</pathsubstitution>
<pathsubstitution>
<substitute>
<from>special://profile/mediasources.xml/</from>
<to>smb://192.168.0.199/kodi/XBMCData/mediasources.xml/</to> //源文件的设置
</substitute>
</pathsubstitution>
<pathsubstitution>
<substitute>
<from>special://profile/passwords.xml/</from>
<to>smb://192.168.0.199/kodi/XBMCData/passwords.xml/</to> //源文件的设置
</substitute>
</pathsubstitution>
<cache>
<memorysize>52428800</memorysize>
<buffermode>1</buffermode>
<readfactor>10</readfactor>
</cache>
</advancedsettings> 拷贝advancedsettings.xml文件到相应的目录。对于Windows系统,按win+r,输入%APPDATA%\kodi\userdata,回车。 一旦advancedsettings.xml文件准备就绪,请在该机器上打开Kodi导入之前备份的库(从设置>媒体设置>导入库) 其他Kodi终端只要拷贝advancedsettings.xml到相应的目录(参见下表)即可。
系统 目录 Android Android/data/org.xbmc.kodi/files/.kodi/userdata/ iOS /private/var/mobile/Library/Preferences/Kodi/userdata/ Linux ~/.kodi/userdata/ Mac /Users//Library/Application Support/Kodi/userdata/ LibreELEC/OpenELEC /storage/.kodi/userdata/ Windows Start - type %APPDATA%\kodi\userdata - press 至此我们已经实现了全屋Kodi终端的同步,不仅仅是刮削的图片及信息,还包括了播放状态。
进阶应用 我们现在已经可以在任何一台Kodi终端上进行查询,但是Kodi的查询不太好用,而且也不可能为了查询而打开Kodi,再说有时候我们会需要远程查询,所以能基于Web是最理想的。
软件安装 MariaDB数据库、和PHPMyAdmin前面已经安装了,接下来需要从【套件中心】安装PHP和Web Station。
title title
网站设置 只勾选了几个和数据库相关的
title
下载代码 在github上找到一个叫KodiWebPortal的项目,据介绍可以用于浏览,显示,搜索并最终下载已编入索引的Kodi多媒体内容。此Web应用程序非常轻巧,没有框架(JQuery除外)和依赖项。
非常符合我的需求,源代码地址:https://github.com/yanncam/KodiWebPortal。
title
代码部署 把下载的 KodiWebPortal-master.zip,解压后拷贝到群晖的 web 目录,并修改目录中的config.php中数据库相关部分
title
取消强制https 打开index.php,找到
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> 将其注释掉
直接删掉也可以
界面汉化 在 \i18n 目录中的lang_en.php 复制一份并重新命名为 lang_cn.php,用百度翻译一下。
title
在config.php中,将121行的 lang_en.php ,改成 lang_cn.php 即可。
title
适应手机 偶尔我们会在手机上打开查询页面,但原始的界面在手机上没法看,所以需要做个简单的适配,在前面注释掉的代码后面加一行。
<meta name="viewport" content="width=device-width, initial-scale=0.95" /> 最后上个效果图
title
title
参考文档 如何利用MySQL数据库让多个XBMC客户端显示一样的媒体库资料 地址:http://www.hdpfans.com/thread-600139-1-1.html
如何使用MySQL在多个设备上同步Kodi库 地址:http://www.howtoip.com/how-to-sync-your-media-across-your-entire-house-with-xbmc/
多个XBMC终端利用MariaDB数据库共享媒体库刮削资料 地址:https://www.chiphell.com/thread-1374193-1-1.html
KodiWebPortal主页 地址:https://github.com/yanncam/KodiWebPortal