家庭多媒体中心(5):查询篇

Kodi(以前叫XBMC)是一款强大的开源媒体播放器软件,支持 MacOS、Windows、Linux、Android等多系统平台。Kodi 的局域网视频播放功能异常强大;默认情况下 Kodi 的资料库是独立的,这就带来一个很大的问题,当家里有多个Kodi终端的话,资料的同步是个很大的问题。

  1. 综合篇
  2. 管理篇
  3. 播放篇
  4. 流媒体服务
  5. 查询篇(本文)

提出问题

Kodi 刮削的内容默认都是存在设备本地存储上的,而电影都是统一存储在 NAS 里的,如果想要每台安装了 Kodi 的设备都显示一样的资料库该怎么办?

解决方案

首先我们想到的就是能不能用数据库来统一管理?结果还真是可行的,只需要我们在群晖上安装数据库和共享刮削资料的文件夹即可。具体的步骤略过,只要仔细阅读参考文档即可。这里只提示关键的步骤。

  • 从【套件中心】安装MariaDB数据库;
    title
  • 从【套件中心】安装PHPMyAdmin,用于管理MariaDB数据库;
    title
  • 为Kodi注册一个数据库用户,当然你也可以用root,但从安全性考虑,强烈不建议这么做。
  • 如果你已经用了Kodi,选择具有最新库的机器,打开Kodi并进入设置>媒体设置>导出库。
  • 创建advancedsettings.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<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,找到

1
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

将其注释掉

1
<!-- 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

适应手机

偶尔我们会在手机上打开查询页面,但原始的界面在手机上没法看,所以需要做个简单的适配,在前面注释掉的代码后面加一行。

1
<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