ZapMedia ZapStation/Harman Kardon DMC 100

作者:Don Marti

在嵌入式 Linux 盒子中使用 Windows Media?是的,还有 DVD。ZapMedia 将一台非常(对于嵌入式系统而言)普通的 PC 打包成家庭影院组件,它配备了 Intel Celeron CPU、128MB 内存、以太网、调制解调器和 30GB 硬盘。ZapStation 平台的首个授权商是 Harman Kardon,他们在 1 月份拉斯维加斯消费电子展上展示了他们的 ZapMedia 盒子,即 DMC 100 数字媒体中心。

DMC 100 为用户提供了一整套当前娱乐技术的清单,包括 DVD 播放器、CD 播放器(能够将曲目翻录为硬盘上的 MP3 或 Windows Media Audio)、网络浏览器、互联网广播和 MPEG 视频剪辑播放器。在电视方面,它尚未具备类似 TiVo 的电视管理功能(尽管可以在软件中添加),但就光盘而言,它可以播放您提供的几乎所有内容:音频 CD、MP3 CD、DVD 和视频 CD。

ZapMedia 的高级软件开发人员 Michael Hirsch 解释说,选择 Intel 上的 Linux 是一个综合决策;他们没有分别选择操作系统和硬件,也没有让一个选择影响另一个选择。“成本当然是一个因素——毕竟我们是一家初创公司——但不是主要因素,”他说。

更重要的是稳定性、多任务处理、脚本编写能力和支持等问题。Linux 以其可靠性而闻名,这在消费电子设备中非常重要。我们在代码中大量使用管道、后台进程、Java、Perl、Python 等。我们认为,使用 Linux 最容易做到这一切。

当然,开发的便利性也不容小觑。Linux 编程模型对程序员非常友好。我们发现,在 Linux 中实现新的编解码器,其速度与其他操作系统一样快,甚至更快。而且我可能不必告诉您,如果需要,能够查看和更改操作系统的源代码是多么的好。不过,通常只需向代码的作者发送一封简单的电子邮件就足够了。

ZapStation 最占用 CPU 资源的应用是将音频编码为 MP3 或 Windows Media 格式,ZapMedia 认为,在嵌入式级 CPU 上的性能将慢得无法接受。因此,他们选择了 Celeron 和 Linux。

那么,如何在 Linux 盒子上获得 Windows Media 和 DVD CCA 许可的 DVD 软件呢?很简单——成为嵌入式系统供应商。微软声称没有看到桌面 Linux 盒子对 Windows Media 的任何需求,但微软的 Windows Media 团队非常乐意与嵌入式 Linux 市场达成协议。他们将其 Linux 库打包为一个自解压的 .EXE 文件,文档采用 Windows Help 格式,但它可以工作。

而且,Hirsch 补充说,微软的支持非常出色,Windows Media 团队有兴趣将其产品“打入客厅,而不是电脑房”。到目前为止,声音效果很好,“总体而言,比 MP3 更丰富、更饱满”。

DVD 播放软件是 InterVideo 的 LinDVD,它不是空头支票,而是仅供嵌入式供应商评估的软件(他们将他们的产品标榜为“首款合法的 Linux 软件 DVD 播放器”,这让那些了解《数字千年版权法》违宪且自由软件播放器与专有播放器一样合法的人感到不满,但我就此打住)。

但没有 RealPlayer。供应商太难对付,并且许可证要价太高,而微软则派人带着合同和笔搭乘下一班飞机来了。(备忘录给 Real Networks 员工:更新您的简历。Real 是那种变得傲慢的专有软件创新者,微软将其当早餐吃掉。)

在硬件方面,ZapStation 比普通 PC 更苛刻的一个关键地方是在音频方面。大多数 PC 声卡芯片组的声音都不够好,无法驱动家用立体声音响。“Harman Kardon 在这方面帮助了我们很多,”Hirsch 说。“他们是硬件合作伙伴,在音频质量方面拥有丰富的专业知识。他们帮助我们找到了一些非常好的芯片,其总谐波失真 (THD) 为 0.005%。如果您有不错的立体声音响和扬声器,您在播放 CD 或 DVD 时真的能够听到差异。”

ZapMedia 几个月来一直在使用预发布 2.4 内核,ZapStation 上的内核包括 OSS 声卡驱动程序和 ReiserFS。内核没有任何问题,ReiserFS 也运行良好,它填充了一个简单但必要的作用,即确保客户不必等待他们的 CD 播放器进行 fsck。ReiserFS 的其他优点,主要与在包含许多小文件的目录中获得更好的性能有关,在这里并不重要。ZapMedia 还发现 2.4 内核在播放音频和视频时比早期内核响应更快。

慷慨的硬件意味着有足够的空间供内存占用者肆意挥霍,因此该盒子运行带有 Java 用户界面的 X,并在 IBM Java VM 上运行。除了编码和解码等对性能非常敏感的代码外,所有内容都用 Java 完成。ZapMedia 估计,使用 Java 进行开发使他们能够在三分之一的时间内完成工作,而如果使用 C++ 则需要更长时间,因为 Java 可以更容易地捕获“愚蠢的错误”,例如试图覆盖数组的末尾。

该公司还开发了一套基于 Java 的内部用户界面设计工具集,设计师可以在其中使用屏幕“控制面板”的图形,并将功能分配给控件。设计师从整个屏幕的图像文件开始,使用“skinbuilder”工具将屏幕区域指定为控件,并将功能分配给它们。skinbuilder 导出一个主题文件,该文件可以加载到盒子上,因此图形部门可以重新设计 ZapStation 的主题,而无需接触一行 Java 代码。

由于大多数软件都是用 Java 编写的,因此 ZapMedia 内部的开发环境是跨平台的,大约一半的开发人员在 Microsoft 平台上工作,其余的运行 Linux。甚至有一个人在一段时间内运行 Macintosh。“总的来说,”Hirsch 指出,“Linux 上的 Java 调试器非常糟糕。我们必须费尽周折才能使用它们,即使这样,它们通常也无法工作。所以我们使用了大量的调试打印。”

ZapMedia 可以通过 Internet 进行软件升级,ZapStation 也将网络用于许多其他目的。它内置了网络浏览器、用于获取 CD 播放器的封面图像和曲目名称的软件、基于浏览器的 ZapMedia 在线商店访问(该商店专为使用遥控器作为指点设备轻松导航而设计)以及用于播放 Shoutcast 和 Windows Media“互联网广播”电台的软件。VCR 用户会很高兴得知 ZapStation 会通过 Internet 自动设置自己的时间。

并非此信息对我们的任何读者都很重要,但 DMC 100 中的所有软件都在硬盘上,并且外壳似乎可以用四个十字螺丝打开。

资源

ZapMedia ZapStation/Harman Kardon DMC 100

Don Marti 是 Embedded Linux Journal 的技术编辑。可以通过 dmarti@ssc.com 联系到他。

电子邮件: dmarti@ssc.com

加载 Disqus 评论