SDB:VDR
VDR (Video Disk Recorder) 是一种用于 DVB(数字视频广播)卡的视频播放和录制应用程序。
文件系统布局
vdr 包已调整为无缝适应 openSUSE 文件系统层次结构
- /etc/vdr 包含您可能想要修改以适应您需求的配置文件(例如 channels.conf)。请参阅 man 5 vdr 以了解这些文件的语法。
- /var/spool/video 是存储录制的地方。如果您磁盘空间不足,您应该考虑将其放在单独的分区上。录制可以占用几个千兆字节。
- /usr/lib/vdr 包含插件的共享库。如果您编译自己的插件,则需要将它们放在那里。
- /usr/include/vdr 包含编译插件所需的头文件。
启动脚本
您几乎不需要直接运行 vdr 二进制文件。使用 /etc/init.d/vdr 在控制台 9 上将 vdr 作为守护进程启动,或使用 runvdr 在当前终端中启动它。您可以在 /etc/sysconfig/vdr 中配置这些脚本的几个参数。
注意:在 openSUSE 上打包的 vdr 不以 root 用户身份运行,而是以特殊的 vdr 用户帐户身份运行,以降低在发生(安全)错误时对系统的损害风险。不要尝试在未应用必要补丁的情况下,为自行编译的版本重用 vdr 启动脚本!
设置频道列表
在 openSUSE 上打包的 vdr 包含一个针对 Astra-19.2E (DVB-S) 的最小 /etc/vdr/channels.conf。您可以使用 dvbscan 创建您自己的。例如,如果您居住在德国纽伦堡,并想为 DVB-T 创建一个 channels.conf,您将运行
scan -o vdr /usr/share/dvb/dvb-t/de-Nuernberg > /etc/vdr/channels.conf
注意:在较旧的 openSUSE 中,扫描命令是 dvbscan。
将 vdr 与连接了电视机的电视机一起使用
如果您拥有功能齐全的卡,并打算像普通的录像机一样在专用机器上运行 vdr,您可能还需要使用遥控器来控制 vdr。不幸的是,流行的 Hauppauge DVB 卡附带的遥控器默认情况下不受支持。您需要安装 vdr-plugins 包中包含的遥控插件。对于自制硬件,或者如果您还拥有带有遥控器的模拟卡,您可能需要使用 lirc。使用 yast 运行级别编辑器或 chkconfig 在启动期间启动 dvb、lirc 和 vdr。
在台式机上使用 vdr
使用功能齐全的卡,您可以使用 xawtv 在台式机上观看电视。您应该将 /usr/share/doc/packages/xawtv/vdr.config 附加到您的 ~/.xawtv 文件,以便从 xawtv 中控制 vdr。
在廉价卡上使用 vdr
廉价卡没有 mpeg 解码器,因此您无法将电视机连接到它们,也无法使用 v4l 应用程序(如 xawtv)观看电视。相反,您可以使用 vdr 的 xine 插件(vdr-plugin-xine 包)。要告诉 vdr 使用此插件,请在 /etc/sysconfig/vdr 中设置以下值
VDR_PLUGINS="xine" VDR_PLUGIN_ARGS_xine="-r"
当 vdr 运行时,按 xine(xine-ui 包)中的“VDR”按钮以获取实时电视画面。除了 xine-ui,您还可以通过打开 url vdr://var/lib/vdr-xine/stream#demux:mpeg_pes 使用任何基于 xine 的媒体播放器,例如 kaffeine。
您可能需要安装额外的编解码器包才能查看来自 dvb 卡的 mpeg 流。
编译您自己的插件
另请参阅 openSUSE:Packaging_vdr,了解如何正确打包 vdr 插件以适应软件包管理。
通常,vdr 插件期望在 vdr 源代码目录中进行编译。这对于预构建的软件包来说是不可能的。幸运的是,大多数插件仍然可以使用以下命令轻松编译
make VDRDIR=/usr/include/vdr LIBDIR=/usr/lib/vdr LOCALEDIR=/usr/share/vdr/locale all
如果您将插件名称添加到 /etc/sysconfig/vdr 中的 VDR_PLUGINS,则在 vdr 启动时会自动加载它。请阅读该文件中的相关注释以了解详细信息。某些插件需要额外的处理,因为 vdr 不以 root 用户身份运行。例如,osd-teletext 插件希望将文件放入 /vtx。您必须自己创建该目录并将其所有者更改为 vdr。其他插件(如 dvd 插件)打开设备文件,您还需要相应地调整权限。
更新的软件包
可通过 openSUSE 构建服务 获取最新稳定 vdr 版本的软件包