我有一张(现在有点旧了,但仍能用的)Hauppauge WinTV-HVR-1110 模拟/数字调谐卡。我已经好几年没用它了,但我记得在 Ubuntu 10.04 左右它在 Linux 上运行得很好。我最近把它挖了出来,想用它来通过我的旧 VCR 录制一些 VHS 磁带。
我发现了一个LinuxTV 网站上的 HVR-1110 指南。但是,它是为 14.04 编写的,并且要求运行(以及其他命令):
sudo apt-get install linux-firmware-nonfree
在 16.04 上,它对我来说不起作用。不再有包linux-firmware-nonfree
。它似乎已从存储库中删除。
如何在 16.04 中安装并运行调谐卡?
答案1
我发现这一点,主要是基于上一个 LinuxTV 页面的链接但步骤有些许修改。
注意:这专门针对 HVR-1110 卡 - 但它可能适用于其他类似类型的调谐卡。
1. 物理安装卡
显然,该卡需要安装在机器的 PCI 插槽中。请确保在执行此操作之前将其关闭。
我还喜欢关闭电源开关,但将电缆本身插上。理论上,这意味着地线仍然连接,但电源无法接通。您需要连接地线,这样可以减少静电烧坏东西的机会。
2.测试saa7134驱动
saa7134 驱动程序应该会自动加载,您可以使用以下命令进行检查:
$ sudo modprobe -r saa7134
应该回馈:
modprobe: FATAL: Module saa7134 is in use.
这个错误信息表明该模块已经被加载(并且无法重新加载),表明该模块可用。
发出以下命令来验证 WinTV HVR-1110 卡已注册为设备:
$ sudo dmesg | grep "saa"
这应该给出类似的东西
[ 4.061052] saa7134: saa7130/34: v4l2 driver version 0, 2, 17 loaded
...
[ 4.061175] saa7134: saa7133[0]: subsystem: 0070:6700, board: Hauppauge WinTV-HVR1110 DVB-T/Hybrid [card=104,autodetected]
...
[ 8.890761] saa7134 0000:06:01.0: DVB: registering adapter 0 frontend 0 (Philips TDA10046H DVB-T)...
[ 14.099329] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10046.fw failed with error -2
[ 14.099338] saa7134 0000:06:01.0: Direct firmware load for dvb-fe-tda10045.fw failed with error -2
这里我们可以看到系统正在寻找该dvb-fe-tda10046.fw
文件,但是找不到它。
如果您使用的卡略有不同,上述输出可能会为您提供所需文件的线索。您可以修改以下步骤以提供所需的文件,而不是 HVR-1110 的文件。
3.下载 linux-firmware-nonfree 软件包
该linux-firmware-nonfree
软件包不再位于存储库中,我不太清楚为什么,但我读到一些内容表明它可能与较新的内核版本不兼容。因此,我们可能不想安装整个软件包本身。幸运的是,我们只需要一个固件文件 - 因此我们可以只安装它。
让我们从 Launchpad 存档中获取包,并提取文件dvb-fe-tda10046.fw
。
cd ~/Downloads
wget http://launchpadlibrarian.net/182181877/linux-firmware-nonfree_1.16_all.deb
ar p linux-firmware-nonfree_1.16_all.deb data.tar.xz | unxz | tar x ./lib/firmware/dvb-fe-tda10046.fw --strip-components=3
现在让我们将固件文件复制到需要的位置:
sudo cp dvb-fe-tda10046.fw /lib/firmware
现在我们可以将其从下载文件夹中删除
rm dvb-fe-tda10046.fw
4. 重启
此时您需要重新启动。
备份后,您应该能够运行此程序并查看固件已加载:
$ sudo dmesg | grep "tda1004x"
[ 9.134105] tda1004x: setting up plls for 48MHz sampling clock
[ 11.534099] tda1004x: timeout waiting for DSP ready
[ 11.594099] tda1004x: found firmware revision 0 -- invalid
[ 11.594100] tda1004x: trying to boot from eeprom
[ 13.982081] tda1004x: timeout waiting for DSP ready
[ 14.082077] tda1004x: found firmware revision 0 -- invalid
[ 14.082079] tda1004x: waiting for firmware upload...
[ 33.314053] tda1004x: found firmware revision 29 -- ok
成功!现在安装卡所需的一切就完成了。现在,您可以使用任何您喜欢的 DVB 工具来扫描和调谐电视广播 - 我不会重复许多可用的指南,但您可以从这里开始。
奖励:模拟录音
我特别想从模拟输入录制。我花了一点时间才最终弄明白,所以我将与大家分享使用 HVR-1110 时对我有用的命令。
首先,TVTime 对于查看调谐器的模拟输入非常有帮助,因此请使用以下命令安装它:
sudo apt install tvtime
然后您可以从 Dash 运行 TVTime,您应该能够选择“Composite1”作为输入。
为了记录,我尝试了一些方法,但发现这个效果很好:
sudo nice --10 mencoder tv:// -v -tv driver=v4l2:norm=PAL:width=720:height=576:outfmt=uyvy:device=/dev/video0:input=1:fps=25:buffersize=500:alsa:amode=1:forcechan=2:audiorate=48000:adevice=plughw.SAA7134:forceaudio:immediatemode=0 -ovc raw -vf format=uyvy -aspect 4:3 -noautoexpand -oac pcm -o /home/sean/Videos/VCR4.avi
您需要mencoder
安装。
这将转储原始的 uyvy 视频文件,该文件可在 VLC 中播放,但不会被压缩。它将占用大量磁盘空间(我每分钟使用约 1 GB)。然后您必须使用您选择的编解码器来压缩它,您可以使用 ffmpeg 来执行此操作。如果您愿意,也可以直接使用 mencoder 进行编码。