DVB-S

出自 ArchWiki

DVB-S 是一种卫星电视标准。本文介绍了在 Arch Linux 上设置和使用 DVB-S 卡。

警告: 这仅在 Pinnacle PCTV Sat 上进行了测试,可能不适用于或无法帮助您使用不同的卡。

加载所需的内核模块

您必须查找您的特定卡的芯片组;诸如 lshwdAUR 之类的工具可能会对您有所帮助。

Pinnacle PCTV Sat

此卡使用 bt878 和 cx24110 作为芯片组。这些需要 dvb-bt8xxcx24110 内核模块

使用 modprobe 加载它们

# modprobe dvb-bt8xx
# modprobe cx24110

您可以在启动时加载模块以自动化此步骤。

附加模块:S2-liplianin

内核中未包含的一些模块可从 Igor M. Liplianin 的 git 存储库 中获得

设置

本文或章节需要语言、wiki 语法或风格方面的改进。请参阅 Help:Style 以获取参考。

原因: 这属于 AUR 中的 PKGBUILD。(在 Talk:DVB-S 中讨论)

首先,您必须下载并准备源代码。

$ git clone https://github.com/crazycat69/szap-s2

要克隆存储库,将需要安装 git,或者您可以从 https://github.com/crazycat69/szap-s2/archive/refs/heads/master.zip 下载源代码并手动提取它。

获取代码后,将工作目录更改为提取的文件夹

$ cd s2-liplianin

不幸的是,并非 liplianin 的所有模块都与最新的内核兼容,如果您想编译它们,会导致一些问题,因此您必须从构建过程中排除这些模块(如果您不需要它们)。您可以通过执行以下命令来选择要构建的模块

$ make config

这将创建一个配置文件:v4l/.config

注意: 如果您想使用另一个界面编辑配置文件,请查看文件 Install 中的“模块选择规则”部分。

之后,您必须构建所选模块

$ make
注意: 很可能某些模块将无法编译。尝试排除它们(前一步),然后再次运行“make”。

如果所有配置的模块都成功编译,则可以通过执行以下命令将模块安装到内核的默认模块目录:

# make install

之后,重启您的计算机。

附加固件:LibreELEC DVB-firmware

LibreELEC 项目为各种 DVB 设备(例如 TechniSat SkyStar S2)提供附加的固件文件。要使用这些固件文件,您可以安装 libreelec-dvb-firmware-gitAUR

设置权限

要以用户身份使用您的 DVB-S 卡,请将其添加到 video

# gpasswd -a [username] video

扫描频道

注意: 如果您使用 Kaffeine,则可以跳过此部分。

大多数应用程序(如 szap 或 xine)都需要由 scan 创建的频道列表,scandvb-utils 的一部分。您将在名称 linuxtv-dvb-appsAUR 下找到 dvb-utils 软件包。

使用 scan

scan 需要一个频道来初始化扫描。在 /usr/share/dvb/dvb-s/ 中有一些包含这些频道的文件;您将需要适合您正在观看的卫星的文件。

以下命令将扫描所有频道并将它们保存到 channels.conf

$ scan -x0 -t1 -s1 /usr/share/dvb/dvb-s/[your satellite] | tee channels.conf
注意
  • 频道文件不必称为 channels.conf,但这样做更方便,您稍后会看到。
  • 根据您的卫星天线设置,您可能需要尝试其他参数。

使用 w_scan_cpp

w_scan_cppAUR 允许自动扫描频道,而无需配置。安装它,然后发出

# w_scan_cpp -c [your country] > ~/someChannels.conf

或者,您也可以使用卫星位置(如 Astra 1 的 19.5E)进行扫描。可以按如下方式进行此类扫描

# w_scan_cpp -fs -s S19E5 > ~/someChannels.conf

您还可以添加 -X 标志以生成 tzap/czap/xine 输出,而不是 vdr 输出。

# w_scan_cpp -X -c AU > ~/AustraliaChannels.conf

要获取可以与 VLC 加载的文件,请使用 -L 标志

# w_scan_cpp -L > ~/AustraliaChannels.conf

DiSEqC 开关扫描 (又名多卫星 LNB)

本文或章节已过时。

原因: w_scan 已被 w_scan_cppAUR 取代。"-D" 标志不再可用。(在 Talk:DVB-S 中讨论)

如果您的 LNB 中有 DiSEqC 开关,您可以手动选择它,方法是使用 -D 选项,如下所示

# w_scan -fs -s S23E5 -D 1c > ~/someChannels.conf

上面的行应该可以工作,但并非所有找到的频道都被实际保存。下面的行对我来说工作完美

# w_scan -fs -s S23E5 -a 0 -D 1c -o 7 -e 2 > ~/someChannels.conf
警告: 我发现,当使用带有 DiSEqC 开关的 LNB 时,使用 -X 输出更方便,您可以在例如 mplayer 中使用它。只需在您在上面看到的“>”之前附加“-X”。

切换频道

注意: szap 仅适用于卫星电视。

通过使用 zap(随 dvb-utils 提供),您可以切换频道,因此您不必依赖播放器的功能。

szap 需要我们之前创建的频道文件;默认情况下,它将尝试 ~/.szap/channels.conf。您可以将 channels.conf 移动到那里,也可以使用 "-c" 命令行选项。

切换频道的工作方式如下

$ szap -r [channel]
注意: szap 需要保持运行。

您可以使用以下命令列出所有可用频道

$ szap -q

现在您可以使用 xine 观看流

$ xine -g stdin://mpeg2 < /dev/dvb/adapter0/dvr0

或使用 mplayer

$ mplayer /dev/dvb/adapter0/dvr0

或使用 mplayer,但直接使用 DVB

$ mplayer "dvb://RTL Television"

您可以通过运行 szap -q 找到所有频道名称(假设频道列表也位于 ~/.szap/channels.conf 中)。

软件

Kaffeine

Kaffeine 是一款非常不错的播放器;它支持 EPG、时移和录制。此外,Kaffeine 还具有内置的频道搜索功能。

安装 带有 kaffeine 软件包的它。

导入频道列表

Me-tv

Me-tv 是一款简单但功能强大的 dvb 查看器,支持 EPG、录制和频道搜索,并具有轻量级 gui。

安装 带有 me-tvAUR 软件包的 Me-tv。

Xine

将您的频道文件复制到 ~/.xine/channels.conf

使用以下命令观看特定频道

$ xine dvb://[channel]

或在 Xine 中使用播放列表编辑器

参见