无需倾家荡产打造 MythTV Box

作者:P. Surdas Mohit

在我的婚礼上,我从一对几年前我们参加过婚礼的夫妇那里收到了一条重要的建议:买第二台电视。他们的意思是,当她看《美国超级名模》时,我可以看曲棍球或泥地摔跤之类的节目。然而,解决这个古老问题(以及许多其他问题)的更好方法是使用 Isaac Richards 的开源 MythTV 软件设置 DVR 系统。这样,我们就可以随时观看我们想看的任何节目。

基础知识

本文介绍了如何在预算有限的情况下构建 MythTV box,以及如何避免一些常见的陷阱。以下是您需要的硬件

  • 电脑:第一步是找一台旧电脑。您可能已经有一台在地下室里积灰尘了。我从 Craigslist 上花 70 美元买了一台。我很谨慎,选择了一台配备 1.6GHz AMD Athlon 处理器的电脑。通过最大限度地减少处理器负载,您应该可以使用更低配置的电脑。价格:0–70 美元。

  • 调谐器卡:您需要一张调谐器卡来接收数字或模拟电视信号,并将其转换成您的电脑可以理解的东西。与 Linux 配合使用的最佳调谐器卡是 Hauppauge WinTV-PVR 系列;PVR-150 是一个带内置 MPEG 编码器的单调谐器,PVR-350 是一个带内置 MPEG 编码器和解码器的单调谐器,PVR-500 有两个调谐器,仅带 MPEG 编码器。我以 85 美元(在加拿大)的价格购买了我的第一张 PVR-150,其中包括一个遥控器和 IR 信号发射器(稍后我会解释这是什么)。美国的常规价格低至 60 美元。我以 25 美元的促销价购买了我的第二张。我建议先从一张 PVR-150 开始,如果您觉得有需要,以后再买另一张。价格:25–85 美元。

  • 硬盘驱动器:您的电脑可能已经有一个硬盘驱动器,但它可能不超过 8GB,您需要一个更大的。大小取决于您计划构建的库的大小。我最初买了一个 250GB 的硬盘驱动器,后来又买了一个 500GB 的外部驱动器。价格:250GB 的 60–80 美元;500GB 的 90–150 美元。

  • 显卡:显卡的选择非常重要,尤其是当它是旧型号时。如果您的现有显卡没有 TV-out 连接,您可能需要购买新的显卡。NVIDIA 对 Linux 的支持最好,而旧的 ATI 显卡可能会遇到很多问题,因为他们没有发布针对它们的专有驱动程序。价格:0–60 美元。

  • DVD 驱动器:如果您想观看 DVD 或将录制的节目刻录到 DVD,您需要 DVD-ROM 或 DVD-RW 驱动器。我绝对推荐这个,因为它们现在不太贵。价格:35 美元。

Build a MythTV Box without Breaking the Bank

图 1. 我的 MythTV 设置

安装

我喜欢 Ubuntu,并且在我的其他电脑上也使用它,所以我决定安装 Mythbuntu——一个基于 Ubuntu 的以 MythTV 为中心的发行版。不幸的是,我在安装 Mythbuntu 和 Ubuntu 本身时都遇到了问题——可能是因为我的 RAM 限制——所以我转而安装了 Xubuntu(一个运行 Xfce 桌面管理器的轻量级 Ubuntu)。安装非常容易;但是,出现了一个意想不到的(但很容易解决的)问题。成功安装操作系统后,我无法启动。GRUB 引导加载程序会吐出“Error 18”。问题的原因是,在较旧的电脑上,BIOS 无法处理大于 8GB 的分区。因此,您必须对磁盘进行分区,并创建一个小于 8GB 的启动分区(或根分区)。

关于文件系统:我在初始安装中使用了 ext3 文件系统,但在我后来购买的外部驱动器上使用了 XFS(它更擅长删除大文件)。除非您熟悉 XFS,否则我不建议这样做。我遇到了一些关于它的问题——例如,它往往会非常频繁地被卸载,需要我重新挂载它,当您试图看电视时,这非常烦人。ext3 文件系统工作正常,但您应该在后端设置(在“常规”下)中启用慢速删除。

下一个问题是将您的 MythTV box 连接到电视。如果您有一台新电视(尤其是 LCD 电视),背面可能有一个 VGA 端口。如果是这样,太好了——只需像连接显示器一样连接它即可。如果没有,您需要使用 S-cable 将显卡(或 PVR-350 调谐器卡)上的 TV-out 端口连接到电视。您还需要在 /etc/X11/xorg.conf 文件中添加一个条目。您可能会非常熟悉这个文件,尤其是当您更换新电视或显卡时。安装完成后,我添加了以下 Monitor 条目

Section "Monitor"

Identifier "Samsung"

DisplaySize 400 300

HorizSync 35 - 50

VertRefresh 60 - 60

Option "DPMS"

EndSection

您的条目将取决于您拥有的电视品牌。当我换了一台 LCD 电视时,我将其更改为以下内容

Section "Monitor"

Identifier "LG 32LC7D"

UseModes "Modes[0]"

DisplaySize 1360 768

HorizSync 31.0 - 60.0

VertRefresh 60.0

Option "DPMS"

EndSection

我还必须添加一个新的部分

Section "Modes"

Identifier "Modes[0]"

ModeLine "1360x768" 85.5 1360 1424 1536 1792 768 771 777 795 
 ↪+hsync +vsync

ModeLine "1216x684" 74.2 1216 1356 1396 1650 684 704 709 750 
 ↪+hsync +vsync

EndSection

如果您安装了 Mythbuntu,那么您现在应该可以开始了。如果没有,请使用 Synaptic 包管理器安装 MythTV 和您想要的任何插件。第一次配置 MythTV 可能是一项艰巨的任务,因为有大量可用的选项。您将逐渐熟悉其中的许多选项,但我将在接下来引导您完成基本的初始设置。

设置

MythTV 由前端和后端组成。后端完成大部分工作:它记录节目、解决冲突并控制对数据库的访问。它始终在后台运行。如果您有 Hauppauge WinTV-PVR 调谐器卡,录制节目对处理器来说几乎不需要什么工作量,只占很小的百分比。前端是后端的界面。您可以使用它来安排和观看节目、观看和刻录 DVD、播放音乐等等。

Build a MythTV Box without Breaking the Bank

图 2. MythTV 前端的“观看录制”屏幕

当您安装 MythTV 时,您会自动进入后端设置。您可以随时通过运行以下命令访问它mythtv-setup从终端。通用设置菜单的第一个屏幕允许您设置后端的 IP 地址。我建议从一台组合的后端/前端机器开始,因此只需保持原样(本地和主服务器都应设置为 127.0.0.1 或 localhost)。除非您有高清有线电视,否则您可以跳过下一个屏幕。您也可以暂时跳过其余屏幕。

接下来,您需要设置您的采集卡。如果您有 Hauppauge 卡,只需选择提及 PVR-x50 的卡类型,它应该会自动识别该卡。在“视频源”下,指示它应该从哪里下载电视节目列表。开源使用的主要视频源是 Schedules Direct。访问该网站以创建一个帐户并设置您的频道列表。

接下来,在“输入连接”下,将每个调谐器卡与一个列表源关联起来。在“存储目录”下,您可以指示您想要存储录制内容的位置。最新版本的 MythTV 允许您指定多个目录,如果您有多个硬盘驱动器(并且不使用逻辑卷管理器),这将非常有用。

Build a MythTV Box without Breaking the Bank

图 3. 调谐器卡设置屏幕

现在您应该可以开始观看和录制电视了。与您的新 MythTV box 交互有两种选择:使用键盘和/或鼠标(可能是蓝牙)或使用遥控器导航 MythTV 界面,并使用 SSH 远程登录以执行系统管理任务,例如安装和更新软件。我建议后者。如果您没有 HDTV,您会发现很难阅读屏幕上的任何文本或菜单。如果您按照网上提供的众多操作指南之一进行操作,则很容易设置遥控器。为了允许通过 SSH 远程登录到您的系统,您需要安装 SSH 服务器。在 Ubuntu 中,这是一个名为 openssh-server 的软件包。使用以下命令启动它

/usr/sbin/sshd

在执行此操作之前,请确保您使用的是安全密码(尤其是对于自动创建的 mythtv 用户)。

如果您像我一样有数字有线电视,您会遇到一些额外的复杂情况。为了更改频道,您需要在有线电视盒上更改频道。您可以使用 IR 信号发射器来做到这一点,它应该随您的 Hauppauge 遥控器一起提供。网上有一个关于如何设置它的优秀指南(请参阅“资源”)。请记住,您需要使用 lirc_pvr150 模块,而不是 lirc_i2c 模块;如果您没有信号发射器,则情况相反。您需要将信号发射器设置在有线电视盒上的 IR 接收器正前方;我只是用胶带把它粘在了上面。当我在我的 MythTV box 上升级 Ubuntu 时,遥控器和信号发射器支持中断了,因此如果这种情况也发生在您身上,您可能需要留出一些时间进行升级。

Build a MythTV Box without Breaking the Bank

图 4. 我的 IR 信号发射器设置

MythTV 不仅仅是一个 DVR。通过插件,它有能力成为一个一体化的娱乐系统。我每天使用的插件是 MythMusic、MythVideo、MythArchive 和 MythWeb。前两个插件允许您播放各种格式(包括 DVD)的音乐和视频。MythArchive 允许您将录制内容和视频刻录到 DVD,而 MythWeb 允许您使用易于使用的 Web 界面远程控制您的系统。

我将我的音乐收藏转储到我的 MythTV box 上,并且由于我有一套不错的扬声器,我将其用作我的主要立体声系统。使用 MythVideo 观看和备份 DVD 也非常容易。如果您有 HDTV,请尝试从日本辉夜号宇宙飞船下载月球高清视频,并在您的客厅观看。当您不在家时,MythArchive 和 MythWeb 非常有用,因为您可以刻录您最喜欢的节目或电影并随身携带或远程下载它们。MythWeb 需要稍微设置一下,但它相当容易。在向外界开放之前,请确保启用身份验证。

性能

在您的低端系统上,您可能会遇到一些问题。两个主要问题涉及 CPU 使用率过高和 RAM 不足。您可以使用 256MB 的 RAM 运行 MythTV;但是,我经历了频繁的冻结,所以我升级到了 512MB。您应该密切关注它的运行状况,并在必要时考虑升级。我早期遇到的另一个问题是,播放录制内容或 DVD 会消耗大量的 CPU 时间(70%–80%),以至于运行其他进程往往会导致播放变得卡顿。特别是,在录制节目的开始和结束时,商业广告标记和数据库访问会产生令人讨厌的卡顿。我通过更换我的 ATI 显卡(它没有专有的 Linux 驱动程序)为 NVIDIA 显卡,完全解决了这个问题。当我更换显卡后,跳帧现象几乎完全停止了,看似无关的菜单滚动缓慢问题也停止了。CPU 使用率降至 40%–50% 左右。

NVIDIA 卓越的 Linux 支持的另一个好处是,可以使用 XvMC(X-Video 运动补偿)将部分 MPEG 解码工作委托给显卡,从而降低 CPU 的负载。要启用 XvMC,请转到“实用程序/设置”→“设置”→“电视设置”→“播放”。在第三个屏幕上,将“播放配置文件”更改为“CPU--”。在我删除配置文件的顶行(指 ivtv)之前,XvMC 没有启动。您可以判断它是否在运行,因为屏幕显示会变为灰度。您也可以判断它是否在运行,因为 CPU 使用率会大幅下降。Xorg 进程在播放期间降至不到 10%;Xorg 和 mythfrontend 的总和始终小于 30%。因此,其他进程(包括创建和刻录 DVD)不再影响播放。

Build a MythTV Box without Breaking the Bank

图 5. 在“电视设置”下启用 XvMC

满意度

只需一小笔钱——如果您以促销价购买调谐器卡并且已经拥有一台电脑,则只需 85 美元,而从头开始构建一个多卡、多驱动器系统,则最多需要 500 美元左右——您就可以构建一个功能齐全的 MythTV box。观看电视将从此变得与众不同。

请注意:MythTV 是一款令人惊叹的软件,但它是不断开发中的免费软件。如果出现问题或者一切都没有按照您的意愿运行,请准备好亲自动手并进行调整。尽情享受它吧——试用不同的主题,调整设置并尝试各种插件。毕竟,这就是 Linux 的全部意义所在。

资源

MythTV: www.mythtv.org

Hauppauge WinTV-PVR 调谐器卡: www.hauppauge.com/site/products/prods_pvr.html

Mythbuntu: www.mythbuntu.org

如何安装 IR 信号发射器: www.blushingpenguin.com/mark/blog/?p=24

P. Surdas Mohit 是斯克里普斯海洋研究所地球物理学和行星物理学研究所的博士后研究员。

加载 Disqus 评论