Shino's Bar

お家で使うLinuxtux

GV-MVP/RX2WでWチューナー録画

10 Dec 2006(初出: 5 Apr 2005) Vine Linux 4.0について(/etc/cmodprobe.conf)

Vine Linux 3.2にI-O DATAのGV-MVP/RX2Wを装着しWチューナー録画システムを構築しました。 GV-MVP/RX2Wは1枚のカードにチューナーを2つ内蔵したMPEGハードウェアエンコードのキャプチャカードです。 これ1枚で裏番組録画も可能となります。

RX2W(ダブルチューナー)ではなくGV-MVP/RX2E(シングルチューナー)を使う場合も、Vine Linux 3.2では ivtvドライバの入れ換えが必要なのでこの記事は有用です。 I-O DATA GV-MVP/RX, RX2、 玄人志向 CX23416GYC-STVLP および BUFFALO PC-MV51XR/PCI を使う場合にも参考になるでしょう。

玄人志向 CX23416GYC-STVLP(/R), I-O DATA GV-MVP/RX, RX2 はVine Linux 3.2だと apt-get install ivtv-utils で必要なソフトはだいたい導入できます。 ただし、Vine Linux 3.2のカーネルに組み込まれたドライバでは2ヵ国語放送の音声切替えができません。 ここで公開するドライバに入れ換えると音声切替えができるようになります。

Vine Linux 3.1へのCX23416GYC-STVLP導入例(ここで公開するドライバを使わない場合)はsgさんのページ

用意するもの

ドライバ、ソフトの導入 (Vine Linux 4.0編)

Vine Linux 4.0のカーネルには、すでに ivtvドライバが含まれています。 しかし、カードメーカーから供給されるファームウェアが無いと動作しません。 また、このカードを使った録画には ivtv-utils パッケージが必要です。

  1. ivtv-utils パッケージの導入
  2. Sinapticを使うか、あるいは root権限でapt-getを実行してください。

    # apt-get install ivtv-utils
  3. ファームウェアの導入
    1. YUANのページから MPG600GR_v4.0.0.0.zip を入手。
      いったんどこかにダウンロードした後(今後のため保存しておいてください。) ~/rpm/SOURCES にコピーしてください。
    2. Download ivtv-firmware-4.0.0.0-0.nosrc.rpm をどこかにダウンロードしてください。
    3. リビルドします。ivtv-firmware-*.nosrc.rpm があるディレクトリで
      $ rpmbuild --rebuild --clean ivtv-firmware-*.nosrc.rpm

      バイナリパッケージができます
      書き込み完了: /home/tako/rpm/RPMS/noarch/ivtv-firmware-4.0.0.0-0.i386.rpm

    4. インストールします。rootになって
      # rpm -Uvh /home/tako/rpm/RPMS/noarch/ivtv-firmware-*.i386.rpm 
  4. 設定の章へ進んでください

ドライバ、ソフトの導入 (Vine Linux 3.2編)

Vine Linux 3.2だと玄人志向 CX23416GYC-STVLP(/R), I-O-DATA GV-MVP/RX,RX2 のドライバはカーネルに含まれています。 しかし GV-MVP/RX2E, GV-MVP/RX2Wなどには対応していませんので ivtv ドライバなどを入れ換えねばなりません。


昔のバージョンはこちら

0.2.0-0.8 以降のものは ぱ研さんで 公開されているivtv-0.2.0-rc3j-paken.051002.tar.gz を同梱しています。 0.2.0-0.4 から -0.6 までは ivtv-0.2.0-rc3j-paken.050901, 0.2.0-0.3 は ivtv-0.2.0-rc3e-paken.050125 をベースにしています。 バージョン 0.2.0-0.6 以降は外部入力(Composite 0)が使えることを確認しています。

使用にあたっての注意

  1. 対応カード
  2. ここで公開するivtvパッケージはぱ研さんで 公開されているドライバとこれをベースにしたパッチ群を当て、 YUANが供給するドライバ MPG600GR_v4.0.0.0.zip からファームウェアを採り、 Vine Linux 3.2などkernel-2.4.xで使えるよう調整、RPM化したものです。 ファームウェアの関係で対応カードが制限されているかもしれません。 現在のところ 玄人志向 CX23416GYC-STVLP と I-O DATA GV-MVP/RX2W とで動作確認しています。 BUFFALO PC-MV51XR/PCI でも CX23416GYC-STVLP と同じ tuner=43 で動くようです。ただしマザーボードとの相性もあるとのこと [vine-users:074647]。 (動作報告募集)

  3. 混用の禁止
  4. 同様のivtvパッケージ(RPM)は matchyさん tangosさん, すずきさん などでも公開されています。あれこれお試しになる場合は、 以前のパッケージを rpm -e でアンインストールしてから次のものをインストールしてください。 rpm -U では入れ換えできません。 perl関係のRPMはあちらのものを、ivtvのRPMはこちらをといった混用はもしかしたら可能かもしれません。

  5. アンインストールについて
  6. すでに Vine Linux 3.1/3.2(とPlus)が供給しているドライバとユーティリティで運用できていて、 その状態に戻したいときは、 ivtv-utils, ivtv-devel, ivtv, perl-Video-ivtv をすべて rpm -e でアンインストールしたのち、 apt-get install ivtv-utils でPlusから再インストールしてください。

    ivtvパッケージはkernel付属のモジュールを書換えます。 kernelを更新するさいはあらかじめivtvパッケージをアンインストールしてください。 ivtvパッケージをアンインストールすることでkernel付属のモジュールは復元されますが、 不都合が起こるようでしたら kernelパッケージを再インストールしてください。

  7. kernelの更新について
  8. kernel更新後にkernel-headersも更新し、 ~/rpm/SOURCES に置いた MPG600GR_v4.0.0.0.zip は消えているかもしれませんので、 もういちどダウンロードするか、保存しておいたものからコピーしてから ivtvパッケージをもういちどリビルドしてください。 できあがった新しいバイナリを(root権限で)次のコマンドで再インストールしてください。

    # rpm -ivh --force /home/tako/rpm/RPMS/i386/ivtv*-0.2.0-*.i386.rpm

設定

Vine Linux 3.2(kernel 2.4.x)では/etc/modules.conf、 Vine Linux 4.0(kernel 2.6.x)では /etc/modprobe.conf に以下の記述を加えます。 他にbttv用の記述(alias char-major-81-0 bttv など)が残っていたら、いったん取り除くかコメントアウトしておきます。 /sbin/depmod -a を実行しておきます。

2 Oct 2005 videodev の記述を追加
alias char-major-81 videodev
alias char-major-81-0 ivtv
alias char-major-81-1 ivtv
options ivtv  tuner=46,46

藤田さん情報によると、Vine Linux 4.0では options に ntsc=jp を追加すると良いそうです。[vine-users:075484]

GV-MVP/RX2E(シングルチューナー)の場合はoptionのところが options ivtv tuner=46 となります。
玄人志向 CX23416GYC-STVLP および BUFFALO PC-MV51XR/PCIは options ivtv tuner=43 です。

他にビデオキャプチャカードがあってbttvドライバを使用しているとややこしいので、あるいはすでに ivtvを使っているときは関連ドライバモジュール入れ換えのためにコンピューターを再起動したほうが良いでしょう。

再起動後 rootになって

# /sbin/modprobe ivtv

これでモジュールが読み込まれます。 dmesg などでメッセージを確認しておきましょう。

テスト

アンテナを繋いでおきます。次のコマンドで12チャンネルを10秒間録画します。 ケーブルTVでは --freqtable ntsc-cable-jp も試してみます。 カレントディレクトリにTuner_0なんとかというディレクトリができ、その中にvideo.mpgというファイルができます。 xineなどで再生してみましょう。

$ record-v4l2.pl -d /dev/video0 -I "Tuner 0" --freqtable ntsc-bcast-jp  -c 12 --duration 10

映像はOKだが音声が出ない場合、次のコマンドで音声の設定をしてからもう一度上の録画コマンドを実行してみます。 v4lctlはxawtvに同梱されています。インストールしていなければxawtvをインストールしてください。

$ v4lctl -c /dev/video0 volume 90% 2>/dev/null
$ v4lctl -c /dev/video0 volume mute off 2>/dev/null

volume の値は最大 98%まで。99%,100%では無音。

record-v4l2.pl と v4lctl とで デバイスファイルの指定が異りますので注意してください。 record-v4l2.plは -d でデバイス指定、v4lctlは -c でデバイスを指定します。

GV-MVP/RX2Wは1枚でデバイスが2つできます。他にビデオキャプチャデバイスを装着していなければ /dev/video0と/dev/video1の2つとなります。 /dev/video1のほうも同様に試しておきます。

外部入力のテストをします。 外部入力端子にビデオ信号、音声信号を接続します。 GV-MVP/RX2Wの場合、2つできるデバイスのうち、後のものが外部入力を扱うようです。 他にビデオキャプチャデバイスを装着していなければ/dev/video1となります

$ record-v4l2.pl -d /dev/video1 -I "Composite 0" --duration 10

S入力端子を使う場合は Composite 0のところが S-Video となります。

VCDフォーマットによる録画(--streamtype 11)では3分40秒前後でハングアップするバグがあるようです。

ハングアップした場合は別のターミナルからプログラムを停止、ドライバのアンロード、ロードを行って ドライバを初期化することも出来ますが、コンピューターを再起動するのが確実でしょう。

テレビを見る

録画しなくても ptune-ui.pl でチャンネルを切替え、xine などでテレビを見ることができます。

$ ptune-ui.pl -d /dev/video0 &
$ cat /dev/video0 | xine stdin://mpeg2 &

mplayerのほうは私のところでは動きがぎごちなかったり、 起動後に ptune-ui.pl でチャンネルを切替えると音声が出なくなるなど、 不安定でした。 次のコマンドの xvのところは他のものも試してください。 mplayer -vo help で選択肢が表示されます。

$ ptune-ui.pl -d /dev/video0 &
$ cat /dev/video0 | mplayer -vo xv - &

私のところでは音声は出るものの、ときに画面は真黒のままの場合がありました。 そのときは cat /dev/video0 > video.mpg としてできるビデオファイルも同様でした。

音声切替え

2ヵ国語放送で主音声にセットするには

$ v4lctl -c /dev/video0 setattr "audio mode" lang1 2>/dev/null

副音声は lang2, その他は stereo, mono
正しくセットされたかどうかは次のコマンドで。

$ v4lctl -c /dev/video0 show "audio mode" 2>/dev/null

audio mode: lang1
と表示されます。

Vine Linux 3.1のカーネルに組み込まれたドライバで動く 玄人志向 CX23416GYC-STVLP, I-O DATA GV-MVP/RX, RX2 なども、ここで公開するドライバに入れ換えると音声切替えができるようになります。

CX23416GYC-STVLP はこれでうまく切替えができているようですが、 GV-MVP系はドライバのロード後の最初の切替えだけが有効のようです。 ふたたび切替えたいときは root権限で ドライバのアンロード、ロードを行って ドライバを初期化します。

# /sbin/rmmod ivtv
# /sbin/modprobe ivtv
# v4lctl -c /dev/video0 setattr "audio mode" lang1 2>/dev/null

予約録画に使う

tvrecord-0.1.9a 以降をインストールすれば Wチューナーを活用して裏番組録画もできるようになります。 tvrec.confなどの設定は tvrec.conf設定例のうち 「ハードウェア圧縮キャプチャ・カード2枚」を参考にしてください。 (GV-MVP/RX2Wは1枚で2枚扱いなので) デバイスは自動サーチされますが、使用デバイスファイル名を明示しておいたほうが良いかもしれません。 GV-MVP/RX2Wを1枚だけ使う場合は VIDEODEV="video0 video1" 外部入力を使う場合はさらに VIDEODEV0=video1など。
録画モード設定ファイルは modes.conf.ivtvがありますので、これを modes.conf としてコピーします。

その他

録画ファイルはLinux上でXineやMplayerなどで再生できますが、 Windows上のWindows Media Playerでは再生できないファイルができることがあります。 Windows上やMacOS-X 上ではVLC Media Player の利用をお奨めします。 また、 Wizd で配信したものは IO-DATAの AVeL LinkPlayer やバーテックス リンクの MediaWizで再生、テレビセットで観賞できます。

GV-MVP/RX2W や GV-VVP/RX2E の混在と複数枚使用、 CX23416GYC-STVLP(/R) の複数枚使用はそれぞれできますが、 GV-MVP/xxxx と CX23416GYC の混在は ivtv-0.2.0-0.6 以降でなければ出来ないようです。

Bt878互換チップあるいはSAA7130/SAA7134などの(ソフトウェア圧縮)ビデオキャプチャーカードを混在させる場合の注意事項や ビデオキャプチャーカードを多数使用するときのデバイスファイルの追加などは ビデオキャプチャーカードの複数使用をご覧ください。

リンク


Shino's Bar goto [シノバー店内案内] [tvrecord - TV予約録画システム] [お家で使うLinux] [Linux BBS]