私は 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
パッケージはもうリポジトリにありません。理由はよくわかりませんが、新しいカーネル バージョンと互換性がない可能性があるという記事を読みました。したがって、パッケージ全体をインストールする必要はないでしょう。幸い、必要なのは 1 つのファームウェア ファイルだけなので、それだけをインストールできます。
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 分あたり約 1 GB 使用しました)。次に、選択したコーデックを使用して圧縮する必要があります。これは ffmpeg で実行できます。必要に応じて、mencoder で直接エンコードすることもできます。