如果您像我一样,喜欢拥有自己的数据,那么您很可能也喜欢购买蓝光或 DVD 光盘上的电影和电视节目。您可能还喜欢制作视频的 ISO 镜像,以保留精确的数字副本,就像我一样。
在一段时间内,将一堆文件存储在某种目录结构中可能是可管理的。但是,随着您收藏的增长,您可能需要诸如从特定位置恢复、跟踪您上次观看视频的位置(即其观看状态)、存储剧集或电影摘要和电影预告片、购买多种语言的媒体,或者只是有一种合理的方式来播放您翻录的所有 ISO 镜像之类的功能。
这就是 Kodi 的用武之地。
什么是 Kodi?
现代 Kodi 是 Xbox Media Player 的继任者,后者早在 2003 年就已停止开发。2004 年 6 月,Xbox Media Center (XBMC) 诞生。在三年多的时间里,XBMC 一直在 Xbox 上运行。然后在 2007 年,开始认真地将媒体播放器移植到 Linux。

除了一些无趣的技术历史外,事情保持相当稳定,XBMC 的知名度也越来越高。到 2014 年,XBMC 拥有一个蓬勃发展的社区,其核心功能扩展到包括玩游戏、从网络流式传输内容以及连接到移动设备。这,再加上名称中涉及 Xbox 的法律问题,导致 XBMC 背后的团队将其更名为 Kodi。Kodi 现在被标榜为“一个娱乐中心,将您的所有数字媒体整合到一个美观且用户友好的软件包中”。
如今,Kodi 具有可扩展的界面,这使得开源社区可以使用插件构建新功能。请注意,与所有开源软件一样,Kodi 的开发者不对其生态系统的插件负责。
我该如何开始?
对于基于 Ubuntu 的发行版,只需几个简短的命令即可安装 Kodi
sudo apt install software-properties-common
sudo add-apt-repository ppa:team-xbmc/ppa
sudo apt update
sudo apt install kodi
在 Arch Linux 中,您可以从社区仓库安装最新版本
sudo pacman -S kodi
RPM Fusion 维护了 Fedora 26 的软件包(在 Kodi 文档中引用)。我在 Fedora 29 上尝试过,它非常不稳定。我相信随着时间的推移,这种情况会得到改善,但我的经验是 Fedora 29 不是 Kodi 的理想平台。
好的,它已安装... 接下来呢?
在我们继续之前,请注意我对您的媒体内容做了两个假设
- 您拥有自己的本地合法内容。
- 您已将此内容从 DVD、蓝光或其他数字发行来源传输到您的本地目录或网络。
Kodi 使用抓取服务来拉取电视和电影元数据。为了让 Kodi 能够正确匹配内容,我建议采用类似于这样的目录和文件命名结构
Utopia
├── Utopia.S01.dvd_rip.x264
│ ├── Utopia.S01E01.dvd_rip.x264.mkv
│ ├── Utopia.S01E02.dvd_rip.x264.mkv
│ ├── Utopia.S01E03.dvd_rip.x264.mkv
│ ├── Utopia.S01E04.dvd_rip.x264.mkv
│ ├── Utopia.S01E05.dvd_rip.x264.mkv
│ ├── Utopia.S01E06.dvd_rip.x264.mkv
└── Utopia.S02.dvd_rip.x264
├── Utopia.S02E01.dvd_rip.x264.mkv
├── Utopia.S02E02.dvd_rip.x264.mkv
├── Utopia.S02E03.dvd_rip.x264.mkv
├── Utopia.S02E04.dvd_rip.x264.mkv
├── Utopia.S02E05.dvd_rip.x264.mkv
└── Utopia.S02E06.dvd_rip.x264.mkv
我将来源(我的 DVD)和编解码器 (x264) 放在标题中,但这些是可选的。对于电视剧,您可以根据需要将剧集标题包含在文件名中。重要的是 SxxExx,它代表季和集。这就是 Kodi(以及扩展的抓取器)如何识别您的媒体的方式。
假设您已像这样组织了您的媒体,让我们进行一些基本的 Kodi 配置。
添加视频源
添加视频源是一个简单的六步过程
- 进入文件部分
- 选择 文件
- 点击 添加源
- 浏览到您的源
- 定义视频内容类型
- 刷新元数据
如果您不耐烦,可以随意自行浏览这些步骤。但如果您想要详细信息,请继续阅读。
当您第一次启动 Kodi 时,您会看到下面的主屏幕。单击 进入文件部分。无论您是在“电影”(如此处所示)还是“电视节目”下执行此操作,都无关紧要。

接下来,选择 视频 文件夹,单击 文件,然后选择 添加视频。


单击 无 并开始键入文件路径,或者单击 浏览 并使用文件导航。


正如您在此屏幕截图中看到的那样,我添加了我的本地 视频 目录。您可以通过 浏览 设置一些默认选项,例如指定您的主文件夹和您已挂载的任何驱动器——可能在网络文件系统 (NFS)、通用即插即用 (UPnP) 设备、Windows 网络 (SMB/CIFS) 或 zeroconf 上。我不会介绍其中的大多数,因为它们超出了本文的范围,但稍后我们将为 Kodi 的高级功能之一使用 NFS。
选择路径并单击“确定”后,确定您正在处理的内容类型。

接下来,Kodi 会提示您刷新所选目录中内容的元数据。Kodi 就是通过这种方式了解您拥有的视频及其概要、演员信息、缩略图、海报等。选择 是,您可以在右上角观看视频扫描进度。


扫描完成后,您将看到许多有用的信息,例如视频概览以及电视剧的季和剧集描述。


您可以对其他类型的内容(例如音乐或音乐视频)使用相同的过程。
使用附加组件增加功能
关于开源项目最有趣的事情之一是,社区经常将其扩展到超出其初始范围之外。Kodi 具有非常强大的附加组件基础架构。它们中的大多数是由想要扩展其默认功能的 Kodi 粉丝制作的,有时公司(例如 Plex 内容流媒体服务)会发布官方插件。对于从不受信任的来源添加插件,请非常小心。仅仅因为您在互联网上找到了一个附加组件,并不意味着它是安全的!
警告:附加组件不受 Kodi 核心团队的支持!
话虽如此,有许多有用的附加组件值得您考虑。在我的房子里,我们使用 Kodi 进行本地播放,当我们要在家外访问我们的内容时,我们使用 Plex——但有一个例外。我们的一间房间 WiFi 信号很差。我将我的蓝光光盘翻录成非常大的 MKV 文件(通常每个 20-40GB),WiFi(以及 Kodi)无法处理这些文件而不会出现卡顿。虽然您可以(并且我们已经)深入研究了一些高级缓冲选项,但即使是这些调整也证明对于非常大的文件来说是不够的。由于我们已经有一个可以转码内容的 Plex 服务器,我们使用 Kodi 附加组件解决了我们的问题。
为了演示如何安装附加组件,我将以 Plex 为例。首先,单击侧面板中的 附加组件,然后选择 进入附加组件浏览器。可以使用搜索功能,也可以向下滚动直到找到 Plex。

选择 Plex 附加组件,然后单击右下角的 安装 按钮。

下载完成后,您可以在主 Kodi 屏幕上的 附加组件 下访问 Plex。

有几种方法可以配置附加组件。某些附加组件(例如 NHL TV)通过右键单击附加组件并选择“配置”来访问的菜单进行配置。其他附加组件(例如 Plex)在启动时会显示配置演练。如果附加组件在您第一次启动时似乎未配置,请尝试右键单击其菜单,看看是否有设置选项可用。
协调跨 Kodi 设备的元数据
在我们的房子里,我们有多台运行 Kodi 的机器。默认情况下,Kodi 在本地跟踪元数据,例如视频的观看状态和节目信息。因此,一台机器上的内容更新不会出现在任何其他机器上——除非您将所有 Kodi 设备配置为将元数据存储在 SQL 数据库中(这是 Kodi 支持的一项功能)。这项技术并非特别困难,但它更高级。如果您愿意付出努力,以下是如何操作。
开始之前
在配置 Kodi 的共享状态之前,您需要了解一些事项。
- 所有内容必须位于网络共享上(Samba、NFS 等)。
- 所有内容必须通过网络协议挂载,即使磁盘位于本地计算机上也是如此。这意味着无论内容在物理上位于何处,都必须将每个客户端配置为使用网络文件共享源。
- 您需要运行 SQL 风格的数据库。Kodi 的官方指南介绍了 MySQL,但我选择了 MariaDB。
- 所有客户端都需要打开数据库端口(对于 MySQL/MariaDB,端口为 3306)或禁用防火墙。
- 所有客户端必须运行相同版本的 Kodi
安装和配置数据库
如果您运行的是 Ubuntu,则可以使用以下命令安装 MariaDB
sudo apt update
sudo apt install mariadb-server -y
我在 Arch Linux 机器上运行 MariaDB。Arch Wiki 很好地记录了初始设置过程,但我将在此处进行总结。
要安装,请发出以下命令
sudo pacman -S mariadb
大多数 MariaDB 发行版都将具有相同的设置命令。我建议您了解这些命令的作用,但如果您在家庭环境中,则可以安全地采用默认值。
sudo systemctl start mariadb
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
sudo mysql_secure_installation
接下来,编辑 MariaDB 配置文件。此文件因您的发行版而异。在 Ubuntu 上,您需要编辑 /etc/mysql/mariadb.conf.d/50-server.cnf。在 Arch 上,该文件是 /etc/my.cnf 或 /etc/mysql/my.cnf。找到写着 bind-address = 127.0.0.1 的行,并将其更改为您想要的以太网端口的 IP 地址,或者如果您希望它监听所有接口,则更改为 bind-address = 0.0.0.0。
重启服务以使更改生效
sudo systemctl restart mariadb
配置 Kodi 和 MariaDB/MySQL
要使 Kodi 能够写入数据库,需要发生以下两件事之一:您可以自己创建数据库,也可以让 Kodi 为您创建数据库。在这种情况下,由于此系统上唯一的数据库是用于 Kodi 的,因此我将创建一个用户,该用户具有创建 Kodi 需要的任何数据库的权限。如果该机器运行多个数据库,请勿这样做。
mysql -u root -p
CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
flush privileges;
\q
这授予用户所有权限——实际上使其能够充当 root 用户。对于我的目的,这很好。
接下来,在您要共享元数据的每个 Kodi 设备上,创建以下文件:/home/<USER>/.kodi/userdata/advancedsettings.xml。此文件可以包含许多非常高级的可调整设置。我的设备具有以下设置
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>mysql-arch.example.com</host>
<port>3306</port>
<user>kodi</user>
<pass>kodi</pass>
</videodatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
<cache>
<!--- The three settings will go in this space, between the two network tags. --->
<buffermode>1</buffermode>
<memorysize>322122547</memorysize>
<readfactor>20</readfactor>
</cache>
</advancedsettings>
<cache> 部分 - 它设置 Kodi 将通过网络缓冲多少文件 - 在这种情况下是可选的。有关此文件及其选项的完整细分,请参阅 Kodi wiki。
配置完成后,最好关闭并重新打开 Kodi,以确保应用了设置。
最后一步是将所有 Kodi 客户端配置为对其所有内容使用相同的网络共享。如果一切都创建成功,则只需一个客户端需要抓取/刷新元数据。收集数据后,您应该看到 Kodi 在您的 SQL 服务器上创建了一个新数据库
[kodi@kodi-mysql ~]$ mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 180
Server version: 10.1.37-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| MyVideos107 |
| information_schema |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)
总结
本文介绍了如何启动并运行 Kodi 的基本功能。您应该能够添加内容并拉取元数据,以使浏览您的媒体更加方便。
您还了解了如何搜索、安装以及可能配置附加组件以获得其他功能。下载附加组件时要格外小心,因为它们是由广大社区而不是核心开发人员提供的。最好仅使用来自您信任的组织或公司的附加组件。
您也对跨多个设备共享元数据有了一些了解。您已被介绍到 advancedsettings.xml;希望它引起了您的兴趣。Kodi 有很多旋钮和开关可以转动,通过足够的实验,您可以从该平台中挤出大量的性能和功能。
您有兴趣进行更多调整吗?您最喜欢的附加组件或设置是什么?您想知道如何更改用户界面吗?您最喜欢的皮肤是什么?请在评论中告诉我!
1 条评论