如何使用 Kodi 管理您的媒体

使用 Kodi 媒体播放器软件掌控您的家庭媒体内容。
200 位读者喜欢这篇文章。
video editing dashboard

Opensource.com

如果您像我一样,喜欢拥有自己的数据,那么您很可能也喜欢购买蓝光或 DVD 光盘上的电影和电视节目。您可能还喜欢制作视频的 ISO 镜像,以保留精确的数字副本,就像我一样。

在一段时间内,将一堆文件存储在某种目录结构中可能是可管理的。但是,随着您收藏的增长,您可能需要诸如从特定位置恢复、跟踪您上次观看视频的位置(即其观看状态)、存储剧集或电影摘要和电影预告片、购买多种语言的媒体,或者只是有一种合理的方式来播放您翻录的所有 ISO 镜像之类的功能。

这就是 Kodi 的用武之地。

什么是 Kodi?

现代 Kodi 是 Xbox Media Player 的继任者,后者早在 2003 年就已停止开发。2004 年 6 月,Xbox Media Center (XBMC) 诞生。在三年多的时间里,XBMC 一直在 Xbox 上运行。然后在 2007 年,开始认真地将媒体播放器移植到 Linux。

XBMC home screen

除了一些无趣的技术历史外,事情保持相当稳定,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 的理想平台。

好的,它已安装... 接下来呢?

在我们继续之前,请注意我对您的媒体内容做了两个假设

  1. 您拥有自己的本地合法内容。
  2. 您已将此内容从 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 配置。

添加视频源

添加视频源是一个简单的六步过程

  1. 进入文件部分
  2. 选择 文件
  3. 点击 添加源
  4. 浏览到您的源
  5. 定义视频内容类型
  6. 刷新元数据

如果您不耐烦,可以随意自行浏览这些步骤。但如果您想要详细信息,请继续阅读。

当您第一次启动 Kodi 时,您会看到下面的主屏幕。单击 进入文件部分。无论您是在“电影”(如此处所示)还是“电视节目”下执行此操作,都无关紧要。

Kodi home screen

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

Kodi videos folder

Add videos in Kodi

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

Browse Kodi video source

Add Kodi video source

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

选择路径并单击“确定”后,确定您正在处理的内容类型。

Defining video content in Kodi

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

Refreshing metadata in Kodi

Kodi metadata scan

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

Kodi metadata scan result

Kodi show description metadata

您可以对其他类型的内容(例如音乐或音乐视频)使用相同的过程。

使用附加组件增加功能

关于开源项目最有趣的事情之一是,社区经常将其扩展到超出其初始范围之外。Kodi 具有非常强大的附加组件基础架构。它们中的大多数是由想要扩展其默认功能的 Kodi 粉丝制作的,有时公司(例如 Plex 内容流媒体服务)会发布官方插件。对于从不受信任的来源添加插件,请非常小心。仅仅因为您在互联网上找到了一个附加组件,并不意味着它是安全的!

警告:附加组件不受 Kodi 核心团队的支持!

话虽如此,有许多有用的附加组件值得您考虑。在我的房子里,我们使用 Kodi 进行本地播放,当我们要在家外访问我们的内容时,我们使用 Plex——但有一个例外。我们的一间房间 WiFi 信号很差。我将我的蓝光光盘翻录成非常大的 MKV 文件(通常每个 20-40GB),WiFi(以及 Kodi)无法处理这些文件而不会出现卡顿。虽然您可以(并且我们已经)深入研究了一些高级缓冲选项,但即使是这些调整也证明对于非常大的文件来说是不够的。由于我们已经有一个可以转码内容的 Plex 服务器,我们使用 Kodi 附加组件解决了我们的问题。

为了演示如何安装附加组件,我将以 Plex 为例。首先,单击侧面板中的 附加组件,然后选择 进入附加组件浏览器。可以使用搜索功能,也可以向下滚动直到找到 Plex。

Kodi add-ons

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

Plex add-on in Kodi

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

Accessing Plex in Kodi

有几种方法可以配置附加组件。某些附加组件(例如 NHL TV)通过右键单击附加组件并选择“配置”来访问的菜单进行配置。其他附加组件(例如 Plex)在启动时会显示配置演练。如果附加组件在您第一次启动时似乎未配置,请尝试右键单击其菜单,看看是否有设置选项可用。

协调跨 Kodi 设备的元数据

在我们的房子里,我们有多台运行 Kodi 的机器。默认情况下,Kodi 在本地跟踪元数据,例如视频的观看状态和节目信息。因此,一台机器上的内容更新不会出现在任何其他机器上——除非您将所有 Kodi 设备配置为将元数据存储在 SQL 数据库中(这是 Kodi 支持的一项功能)。这项技术并非特别困难,但它更高级。如果您愿意付出努力,以下是如何操作。

开始之前

在配置 Kodi 的共享状态之前,您需要了解一些事项。

  1. 所有内容必须位于网络共享上(Samba、NFS 等)。
  2. 所有内容必须通过网络协议挂载,即使磁盘位于本地计算机上也是如此。这意味着无论内容在物理上位于何处,都必须将每个客户端配置为使用网络文件共享源。
  3. 您需要运行 SQL 风格的数据库。Kodi 的官方指南介绍了 MySQL,但我选择了 MariaDB。
  4. 所有客户端都需要打开数据库端口(对于 MySQL/MariaDB,端口为 3306)或禁用防火墙。
  5. 所有客户端必须运行相同版本的 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 有很多旋钮和开关可以转动,通过足够的实验,您可以从该平台中挤出大量的性能和功能。

您有兴趣进行更多调整吗?您最喜欢的附加组件或设置是什么?您想知道如何更改用户界面吗?您最喜欢的皮肤是什么?请在评论中告诉我!

User profile image.
Steve 是一位敬业的 IT 专业人士和 Linux 倡导者。在加入红帽之前,他曾在金融、汽车和电影行业工作多年。Steve 目前在红帽公司担任解决方案和技术实践部门的架构师。他拥有从 RHCA(DevOps 领域)到 Ansible,再到容器化应用程序等各种认证。

1 条评论

但是,当我尝试使用免费的 Kodi 附加组件观看电影时,每次都会出现的 Olpair Kodi 错误又是什么呢

Creative Commons License本作品根据 Creative Commons 许可协议 授权。署名-相同方式共享 4.0 国际许可协议。
© . All rights reserved.