基于Linux的无线数字电视

作者:Alolita Sharma

我的旧电视最近坏了。作为一个 Linux 爱好者,我在笔记本电脑和台式机上使用了各种开源发行版。因此,电视的报废是一个很好的机会,看看我是否可以在 Linux 上看电视,而不是再买一台电视。这也正合时宜,因为美国的无线电视广播将在 2009 年 2 月转换为全数字。因此,在我的台式机上切换到数字电视令人兴奋。

为了了解 Linux 上数字电视 (DTV) 的状况,我研究了数字电视调谐卡、天线和配件。我选择安装 MythTV,在整个体验结束时,我在我的 Linux 桌面上拥有了一个很酷的数字电视,具有画中画和遥控功能。它拥有足够的高清 (HD) 电视,让我变成了一个真正的沙发土豆。我很高兴地报告,Linux 以及数字电视调谐卡、显卡、LCD 显示器和丰富的软件(如 MythTV)的硬件支持,已经准备好迎接黄金时段。

数字电视环境

在本次评测中,我使用了一台配备 Intel Core 2 Duo 3GHz 处理器、4GB 内存、NVIDIA 8800 GT 显卡和 750GB SATA 硬盘的 PC。显示器是三星 SyncMaster 245BW,分辨率为 1920x1200。我运行了 Ubuntu 7.10,并安装了所有最新的更新作为我的操作系统。使用强大的显卡对于在高分辨率、宽屏显示器上观看高清节目至关重要。

好的天线也是 DTV 设置的关键组件。我测试了室内和室外天线,发现使用室外天线时接收效果显着提高。使用有源室内天线时接收效果也有所提高。标准室内天线只有在非常小心地放置时才能充分发挥作用。由于 HDTV 内容是高分辨率的 (1920x1080),如果您的信号较弱,您可能会看到很多伪影。频繁的伪影会导致非常糟糕的观看体验。因此,建议选择有源室内天线或室外天线。标准清晰度电视 (SDTV) 的分辨率不如高清电视高,并且对弱广播信号的容忍度更高。但是,即使在这里,好的天线也是必不可少的。

我使用 MythTV(版本 0.20.2)来观看无线 DTV 频道。MythTV 是一款适用于 Linux 和 Mac OS 的开源家庭娱乐软件应用程序。它已发展成为最全面、功能丰富的平台之一,用于观看和录制来自无线和有线广播的电视节目。我还使用了另一个名为 tvtime(版本 1.0.2)的开源软件应用程序来观看无线模拟 NTSC 频道。

那么,我们可以看什么?在美国所有主要都市区,都有很多无线节目可供选择。例如,ABC、CBS、FOX 和 NBC 除了模拟 NTSC 之外,还提供标准和高清节目。在我的所在地,旧金山湾区,当地公共广播电视台 (PBS) 每天下午 5 点至凌晨 6 点以 HDTV 格式播放高质量的教育和专题内容。

数字电视调谐卡评测

为了评测各种数字调谐卡,我首先通过检查系统日志来测试硬件是否在启动时被 Linux 识别。如果未被识别,我必须手动查找和构建设备驱动程序。一旦此步骤成功,我在 MythTV 中配置了调谐卡。作为配置的一部分,MythTV 扫描广播区域中可用的频道。平均而言,MythTV 大约花费了七分钟才找到 25 多个数字频道。找到频道后,我们就可以观看数字电视了。

我评测了一系列数字调谐器,包括 PCI、PCI Express 和 USB 总线类型。

pcHDTV HD-5500

pcHDTV HD-5500 是一款 PCI 卡,是唯一一款设计和销售为开箱即用地支持 Linux 的硬件。HD-5500 支持数字 (ATSC)、模拟 (NTSC) 和未加密的有线电视信号。这款低矮型 PCI 卡提供了一个用于电视天线的同轴输入、一个用于模拟电视的立体声音频输出插孔和一个用于适配器电缆的九针端口。适配器电缆为 S-Video 和立体声音频、RCA 视频输出以及红外发射器(用于控制机顶盒)提供输入。pcHDTV 随 HD-5500 调谐卡附带一张 CD,其中包括 2.4 和更旧的 2.6 内核的驱动程序、用于捕获和操作数字 (ATSC) 数据流和信号的命令行工具,以及定制为支持 HDTV 的 Xine 视频播放器版本。

这款调谐卡开箱即用——配置非常简单,只需将卡安装到我的台式测试机的 PCI 插槽中即可。硬件上的数字 (ATSC) 和模拟 (NTSC) 调谐器在系统启动时立即被识别并且功能齐全。在 MythTV 中将调谐器配置为 “DVB DTV capture card (v3.x)” 很简单。如果我安装了额外的 pcHDTV 卡,我可以测试多卡功能,例如 MythTV 中的画中画 (PiP)。pcHDTV 声称您可以在单个系统中安装最多四张这样的卡。

高清和标清节目的图像质量都非常出色。最重要的是,拥有一个端到端的 Linux DTV 解决方案,无需繁琐的设置和出色的观看体验,这简直太酷了。HD-5500 是台式 Linux 系统的理想选择。如果能有一个用于笔记本电脑的 USB 版本就更好了。如果能像其他几款 DTV 调谐器产品一样提供遥控器,那就更锦上添花了。

我通过电子邮件有机会采访了 pcHDTV 的 CEO Jack Kelliher(请参阅侧边栏“采访 pcHDTV 的 CEO 和联合创始人 Jack Kelliher”)。

Pinnacle PCTV HD Pro Stick

Pinnacle 的 PCTV HD Pro Stick 是一款 USB 2.0 调谐卡,它支持数字 (ATSC) 和模拟 (NTSC) 电视信号。这款调谐卡随附便携式伸缩天线、带电池的迷你遥控器、USB 延长线和 A/V 适配器电缆,该电缆具有 S-Video、复合视频 (RCA) 和立体声音频 (1/8" 插孔) 的输入。设备上集成的红外 (IR) 接收器支持遥控器。这款调谐卡比典型的 USB 拇指驱动器稍大,一端有一个同轴电视天线输入,另一端有一个 USB 连接器。当插入我的系统时,调谐器的宽度挡住了相邻的 USB 端口。但是,使用调谐卡随附的 USB 延长线可以避免这个问题。这款卡随附的便携式天线足以观看附近的 HDTV 频道,但拥有有源天线总是有帮助的。

开箱即用,Linux 不支持这款卡。为了使这款卡在 Linux 下工作,我必须下载并编译其驱动程序。我发现这款调谐器基于 Empiatech EM2880 芯片组,该芯片组的支持已添加到 Linux 数字视频广播 (v4l-dvb) 项目的最新开发版本中。我下载了 v4l-dvb 开发源代码并为正在运行的内核编译了必要的模块(请参阅侧边栏“在 Ubuntu 7.10 上为 Pinnacle PCTV HD Pro Stick 和 Hauppauge WinTV-HVR-950 构建设备驱动程序”)。编译内核模块的过程很顺利,并且在系统重启后,Pinnacle PCTV HD Pro Stick 被系统识别。其数字 (ATSC) 调谐器注册为 DVB 前端 (/dev/dvb/adapter0),其模拟 (NTSC) 调谐器可作为 v4l 视频设备 (/dev/video0) 访问。

在 Ubuntu 7.10 上为 Pinnacle PCTV HD Pro Stick 和 Hauppauge WinTV-HVR-950 构建设备驱动程序

首先,通过从 GNOME 桌面菜单中选择 “系统”→“管理”→“软件源” 来启用 universe 和 multiverse 软件包仓库。单击标记为 “Ubuntu 软件” 的选项卡,并确保选中 “社区维护的开源软件 (universe)” 和 “受版权或法律问题限制的软件 (multiverse)” 的复选框。单击“关闭”。

接下来,从 Ubuntu 应用所有最新的更新,方法是从 GNOME 桌面菜单中选择 “系统”→“管理”→“更新管理器”,应用所有系统更新,然后重启系统。

然后,在终端中,执行sudo su成为 root 用户。安装必要的软件包来构建 em28xx 内核模块

aptitude install mercurial build-essential linux-source

下载固件版本 4,USB 调谐卡所必需的

wget -q http://konstantin.filtschew.de/v4l-firmware/firmware_v4.tgz
↪-O /usr/local/src/firmware_v4.tgz

将固件文件解压到 /lib/firmware

tar xzf /usr/local/src/firmware_v4.tgz -C /lib/firmware

mcentral.de 获取最新版本的 V4L DVB 源代码

cd /usr/local/src
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel

编译 V4L DVB 驱动程序

cd /usr/local/src/v4l-dvb-kernel
make
make install

最后,重启系统。

在 MythTV 中将调谐器配置为 “DVB DTV capture card (v3.x)” 后,我能够收看标清和高清节目。高清节目的图像质量非常棒,与标清节目相比,清晰度和锐度都令人惊叹。这款 USB 设备的观看体验非常出色。

我使用 tvtime 来评估模拟电视的性能。对于发射塔在地理位置上更近的电视台,图像质量明显更好。最初,tvtime 中没有声音。使用 sox 将音频从 tvtime 路由到默认的 ALSA 声卡设备解决了这个问题。在网上研究表明,许多其他人在使用 tvtime 时也遇到了同样的问题。

Hauppauge WinTV-HVR-950

Hauppauge WinTV-HVR-950 是一款 USB 2.0 高清电视调谐卡,它与 Pinnacle PCTV HD Pro Stick 非常相似,只是 Hauppauge 设备没有遥控器。与 Pinnacle PCTV HD Pro Stick 一样,它支持数字 (ATSC)、模拟 (NTSC) 以及未加密的有线电视信号。这款卡随附便携式伸缩天线、USB 延长线和 A/V 适配器电缆,该电缆具有 S-Video、复合视频和立体声音频的输入。我发现这款卡随附的天线不如 Pinnacle PCTV HD Pro Stick 随附的天线好。事实上,我不得不使用更好的有源室内天线或室外天线来代替。当插入我的系统时,这款卡也挡住了相邻的 USB 端口。

Hauppauge 没有为这款产品提供官方的 Linux 支持。但是,这款调谐卡也基于 Empiatech EM2880 芯片组(与 Pinnacle 的 PCTV HD Pro Stick 相同)。因此,为 HD Pro Stick 构建的相同内核模块也适用于这款调谐器。请按照侧边栏“在 Ubuntu 7.10 上为 Pinnacle PCTV HD Pro Stick 和 Hauppauge WinTV-HVR-950 构建设备驱动程序”中的步骤来构建驱动程序。

标清和高清节目以及模拟电视的观看体验与 Pinnacle PCTV HD Pro Stick 提供的体验相似。

Hauppauge WinTV-HVR-1800

Hauppauge WinTV-HVR-1800 是一款 PCI Express x1 调谐器,它也支持数字 (ATSC)、模拟 (NTSC) 和未加密的有线电视信号。这款卡具有用于模拟有线电视、数字 ATSC/QAM 电视和 FM 收音机的同轴输入。它还具有用于 S-Video/复合视频和 L/R 立体声音频的输入。集成的硬件 MPEG-2 编码器在录制模拟电视或有线频道时会卸载系统处理器。附件包括遥控器、USB 红外接收器和红外发射器电缆(用于控制机顶盒)。

开箱即用,Linux 不支持这款调谐器。但是,在构建其驱动程序后,您可以使数字 (ATSC) 调谐器在 Ubuntu 7.10 下可靠地工作(请参阅侧边栏“在 Ubuntu 7.10 上为 Hauppauge WinTV-HVR-1800 构建设备驱动程序”)。由于驱动程序尚不支持模拟电路,因此无法在 Linux 下评估这款调谐器的模拟电视功能。

在 Ubuntu 7.10 上为 Hauppauge WinTV-HVR-1800 构建设备驱动程序

首先,通过从 GNOME 桌面菜单中选择 “系统”→“管理”→“软件源” 来启用 universe 和 multiverse 软件包仓库。单击标记为 “Ubuntu 软件” 的选项卡,并确保选中 “社区维护的开源软件 (universe)” 和 “受版权或法律问题限制的软件 (multiverse)” 的复选框。单击“关闭”。

接下来,从 Ubuntu 应用所有最新的更新,方法是从 GNOME 桌面菜单中选择 “系统”→“管理”→“更新管理器”,并应用所有系统更新。然后,重启系统。

接下来,启动终端并执行sudo su(成为 root 用户)。安装必要的软件包来构建最新的 v4l-dvb 驱动程序

aptitude install mercurial build-essential linux-source

linuxtv.org 获取最新版本的 V4L DVB 源代码

cd /usr/local/src
hg clone http://linuxtv.org/hg/v4l-dvb

编译 V4L DVB 驱动程序

cd /usr/local/src/v4l-dvb
make
make install

并且,重启系统。

在 MythTV 中设置调谐器后,我能够观看高清和标清节目。与 USB 调谐器相比,图像质量没有明显的差异。遥控器工作良好,并且在使用 LIRC 中的 Windows Media Center 遥控器(新版本 Philips 等)配置设置后,LIRC(Linux 红外控制)完全支持遥控器。如果您是沙发土豆,那么 MythTV 中可用的遥控器绝对是必不可少的。

Linux 上的数字电视已成现实

您可以使用合适的设备和一些调整在桌面上体验精彩的高清电视节目。如果您希望构建一个基于 Linux 的全功能媒体中心,MythTV 可以满足您的所有需求——从节目列表、画中画、遥控器支持、带有 MythWeb 的 Web 管理、可编程录制到观看您喜爱的节目。如果您是极简主义者并且不想专门使用整个系统,那么 Me-TV 看起来很有希望。

毋庸置疑,您在为 DTV Linux 系统购买组件之前应该做好功课。访问流行的在线论坛,例如 MythTV Wiki、LinuxTV Wiki、Ubuntu Forums 和 Ubuntu Wiki,以汲取大众的智慧。

总而言之,我对获得出色的 DTV 体验的建议包括室外天线、快速多核处理器、中高端显卡(至少 256MB 显存)和快速大容量硬盘。对于您的台式机,pcHDTV HD-5500 开箱即用。Hauppauge WinTV-HVR-1800 紧随其后。对于您的笔记本电脑,Pinnacle PCTV HD Pro Stick 和 Hauppauge WinTV-HVR-950 USB 调谐器效果良好。

表 1. 调谐器概览

调谐器总体评分(5 星最佳)开箱即用的 Linux 支持价格接口厂商网站(Linux 帮助性 - 5 星最佳)配件
pcHDTV HD-5500*****$129PCI****音视频适配器线
Hauppauge WinTV-HVR-1800****$120PCI Express x1***遥控器、USB 红外接收器、音视频适配器线
Pinnacle PCTV HD Pro Stick***$90USB 2.0*伸缩式便携天线、遥控器、USB 延长线、音视频适配器线
Hauppauge WinTV-HVR-950**$70USB 2.0***伸缩式便携天线(质量低于 Pinnacle Pro Stick 提供的天线)、USB 延长线、音视频适配器线

采访 pcHDTV 的 CEO 和联合创始人 Jack Kelliher

AS: 您是如何对为 Linux 构建 HDTV 卡产生兴趣的?是因为这项技术是开源的,还是出于个人兴趣?

JK:实际上,两者都有。我早期有一张用于 Windows 的高清卡,但几乎完全使用 Linux,并且想要一张用于 Linux 的高清卡。由于当时有开源的 MPEG 播放器可用,并且 Linux 有一个利基市场,我觉得这是一个非常可行的项目,可以发展成一家小企业。

AS: 在使 pcHDTV 产品获得成功方面,您面临哪些挑战?

JK:当然,第一个挑战是开发卡、驱动程序和修改播放器以处理高清回放,然后是生产中的问题。我们认为我们的机会窗口相当小,因为 FCC 计划强制执行广播标志 [数字电视节目数据流中发送的一组状态位,指示数据流是否可以录制,或者对录制内容是否有任何限制],这与 Linux 非常不兼容。幸运的是,最高法院否决了这一点,尽管此后国会已经考虑过几次。

AS: 在使用这项技术多年之后,您觉得 Linux 最令人兴奋的地方是什么?

JK:开源软件的非凡进步,例如 MythTV,以及非常实用的视频观看、编辑和动画应用程序——甚至医疗应用程序,例如 MRI 查看器。

AS: 您如何看待您的产品发展?

JK:我们希望在未来支持 PCI Express,并且我们也在考虑推出一款小型 USB 产品。

AS: 您如何看待将您的产品定位为欧洲用户(非 ATSC 用户)?

JK:我们一直在并将继续致力于全球解决方案,这占用了我们大部分时间。这个项目对我们来说相当大,但我们希望在年底前推出一些产品。

Alolita Sharma 自 Linux 早期就参与开源。作为一名软件工程师和行业顾问,她通过开源来推动颠覆式创新。她是 Technetra 的联合创始人兼 CEO,也是 OSI 董事会成员。可以通过 alolita.sharma@gmail.com 联系她。

加载 Disqus 评论