このページには以前使用してた環境のメモとしてオンボードチューナを使用した設定を残してありますが、このままアンテナ線から地上波を録画した場合、
- ゴースト
- ノイズ
- ドット妨害・クロスカラー
を防ぐことはできません。単純なノイズはともかくその他に関してはキャプチャ後のフィルタではどうにもならないか、弊害が大きすぎます。
bt を利用する際はS入力に綺麗なソースを与えてやることが重要です。そのためにはGRTや3次元Y/C分離のようなものを搭載した機器を用意する必要があります。地上波デジタルに移行するまで使えるので無駄な投資とはなりませんが、結局 bt でケチってもこういうところで金はかかります。
MTV2000 のようなこれらをすべて面倒見てくれるPC用キャプチャカードは便利ですが、汎用品と違って流用がきかないので投資に見合うかどうかはわかりません。
- 事前に必須ソフトウェアを入れておく。
- DirectX 9.0c
- Windows Media Encoder 9
- 展開して適当なフォルダに置いた後、フィルタ登録作業を行う。
- フィルタ登録 ("C:\Program Files\OLS\hunuaa" の場合)
> cd (hunuaaCap をインストールしたパス) > regsvr32 huavimux.ax > regsvr32 hunuclock.ax > regsvr32 robustts.axこんな感じ。
- 地上波: GV-BCTV4/PCI へアンテナ線を引き込み (内蔵チューナ使用)
- 地上波: GV-BCTV4/PCI から nForce2 LINE-IN へ
- btwincap 5.3.8
- hunuaaCap 2.5.6.3
hunuaaCap 設定一覧 hunuaaCap 全景 スクリーンショット オプション設定 [1], [2], [3], [4] デバイス設定 GV-BCTV Rec [1], [2], [3], [4], [5] (予約用) GV-BCTV View [1], [2], [3], [4], [5] (鑑賞用) 圧縮設定 AVI (huffyuv) [1], [2], [3] (編集&再エンコード用) WMV [1], [2], [3] (リアルタイムエンコード用) TV 設定 AIR 東京 (地上波) MUX 設定 AVI2 独自 AVI2-独自 [1], [2], [3], [4], [5] 予約設定 Nov 2002 (圧縮詳細 - "AVI (huffyuv)") huffyuv 構成 YUY2 fastest (デバイス詳細 - "GV-BCTV4 Rec") ビデオキャプチャピン 29.97fps, YUY2, 640x480 ビデオプレビューピン 29.97fps, YUY2, 640x480 ビデオキャプチャピン (カスタム) (デフォルト) [1], [2], [3], [4] ビデオプレビューピン (カスタム) (デフォルト&同上) ビデオキャプチャフィルタ NTSC_M_J, 0/80/0/100/81/140/0/1 オーディオキャプチャフィルタ AUX-IN 10% オーディオキャプチャピン (カスタム) 48KHz 16bit Stereo アロケータ (デフォルト) 第一クロスバー Video Tuner In, Audio Tuner In 録音ミキサー LINE-IN 80% TV チューナ 81, 0, Antenna, TV, NTSC_M TV オーディオ (デフォルト) VideoProcAmp 0/80/0/100/81/140/0/1 各種プロファイルを作成する順序は
オプション -> (圧縮,TV,MUX) -> デバイス -> 予約がお勧め。ビデオ・オーディオフィルタは使用しない場合設定不要。
基本的に bt8x8 の場合、縦 480 line でキャプチャ時プレビューするときはスマートティーを使用する。それ以外はデフォルトで。その他機能をよくわからないまま使用するとはまります。もう少し煮詰めた hunuaaCap 設定は 後述。
保存形式は AVI2 (640x480 YUY2 29.97fps huffyuv, WAV 48KHz 2ch) となることを意図してます。30 分で約 15GB ってとこでしょうか。
- プロファイルが更新できません
- [OK] ボタンを押す前に [置換] ボタンを押してください。
- 音は出てるのに絵が映りません
- クロスバーを確認してください。"入力タイプ" でクロスバーを簡易設定するのもありです。
- 待機時設定でビデオが "オーバーレイ" もしくは "プレビュー" になっていますか?
- 動画キャプチャ時設定でビデオが "有+プレビュー" および "スマートティーを使用する" になっていますか?
- 音は出てるのに録音されていません
- 録音ミキサーで録音対象デバイスを指定(有効に)していますか?
- 横ラインずれノイズ が出ます (640x480 YUY2 29.97fps クラス)
- KT133A ではスマートティーによるプレビューを止めてください。 VIA 686B の ATA100 コントローラでもそうすればぎりぎり大丈夫でした (それ以上 PCI に負荷をかけるとだめ)。
- 手動キャプチャ時 "指定されたパスが見つかりません" と言われる
- オプション設定で動画/静止画の保存ファイルを指定してください。
- タイムシフトってどうやって使うの?
- 表示->タイムシフトバー というのがあるんです(w。 オプション設定でタイムシフトを有効にしておいてください。そうしておいて録画開始。
- "WMV のプロファイルの作成と管理" ボタンを押しても反応がありません
- Windows Media Encoder 7.1 をインストールしておいてください。 いつの間にか DirectX8.1 と同格の必須ライブラリに指定されています。
- 問題:
- 編集ソフトで見ると映像と音声の開始時間がずれている。(気づきにくい!)
- 解決法:
- MUX 遅延時間処理を変更する
MUX 設定: 遅延時間処理 for AviUtl MUX 設定 遅延時間処理 (ヌルフレーム/基準時間変更)
開始時にキャプチャデバイスとオーディオデバイスがきっちり同時にスタートしないとずれることになりますが、avi のストリームには遅延時間という情報を埋め込むことができて、この差を吸収させることができるようになっています。しかし、この遅延時間情報が正しく設定されていたとしても、世に出ている avi 編集ソフトの中にはこれを正しく扱ってくれないものが存在します。AviUtl 0.96i もその中のひとつです。詳細は hunuaaCap2 のヘルプを参照してください。
AviUtl では映像/音声ともに遅延時間を0にしておくのがなにかと安全です。というわけで AVI?-独自 MUX の設定の中の遅延時間処理を用います。その中で、
ビデオ=ヌルフレーム, オーディオ=ヌルフレームフレーム: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 映像 : nl nl nl 04 05 06 07 08 09 10 11 12 13 14 15 16 (遅延時間=0) 音声 : 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 (遅延時間=0)が単純でよさそうです。うちでは音声の遅延時間は0、映像の遅延時間が3〜4フレームくらいになることが常ですので、最初の5フレームくらいは使えないことになります。ただし、
オーディオの開始時間があてにならない場合、
ビデオ=ヌルフレーム, オーディオ=基準時間変更とします。基準時間変更を使うと以下のような avi ができます。
フレーム: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 映像 : nl nl nl nl nl nl nl nl nl nl nl nl nl nl 01 02 (遅延時間=0) 音声 :-13-12-11-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 00 01 02 (遅延時間=0)上記の例では 15 フレーム目で同期を取るという処理をしています。このタイミングはオーディオの最初のフレームが転送されてきた時点ということで、アロケータの設定によって変わります(通常 0.5 秒)。この設定では、最初の 20 フレームくらいが使えないことになります。フレーム数による分割をしている場合もこの設定にすることになっています。
また、AviUtl はヌルフレームをヌルフレームとして表示してくれるのではなく、単に再描画をしないというようになっているので騙されないようにしてください。さらに、全然別の話ですが VFAPI Conv 1.03 経由で AVI2 を読むと、その AVI2 の遅延情報は失われるので注意が必要です。
- 問題:
- キャプチャしたファイルを長時間再生していると映像と音声にずれが生じる。
- 解決法1a (汎用):
- 録画後に AVI の映像 fps を書き換えて調整する
例えば映像を 29.97fps, 音声を 48KHz としてキャプチャした場合、デフォルトでは保存される avi にも 29.97fps, 48KHz と書かれます。しかし、実際のキャプチャ中の映像・音声のキャプチャレートが正確にこの数字でなかったとしたら、再生時にずれていく可能性が出てくることになります。音声は 48KHz など決められた値しか扱えない場合がほとんどですので、映像の fps を変更してせめて映像/音声の速度比だけでもあわせてやることにします。
ストリームタイム補正を無効、遅延時間処理を映像音声共に遅延時間にした状態で(重要)、30 分ほどキャプチャして 29.9705fps 48005.5Hz だったとすれば(インフォメーションバー)、この比を保存するように
x / 48000 = 29.9705 / 48005.5
x = 29.9671として fps を求めます。この補正により、再生時間が録画時間と微妙に違ってくるのはあきらめましょう。もしくはまともなデバイスに買い換えましょう。
再生にも録音と同じデバイス(クロック)を使用して連続再生した場合には、プレーヤによってはずれに気づきにくくなるかもしれません。長時間の動画で後方にシークさせてみてから再生するとわかりやすいかもしれません。
AVI の fps 情報はおそらくヘッダの固定位置の2箇所を書き換えるだけでいいはずなので、がんばってください。もしくは各種ツールを使ってください。
- 解決法1b (bt8x8 専用):
- ビデオキャプチャピン (カスタム) を調整する
デバイス設定: エアチェック用 ビデオキャプチャピン (カスタム) 333656 (29.9710fps) ビデオプレビューピン (カスタム) 333656 (29.9710fps) デバイス設定: ビデオ再生入力用 ビデオキャプチャピン (カスタム) 333563 (29.9793fps) ビデオプレビューピン (カスタム) 333563 (29.9793fps)
多くの bt8x8 (CONEXANT WDM ドライバ) 環境では、ビデオキャプチャピン(カスタム)で指定した値はドライバでは無視され、avi に記録される映像の fps 値にのみ反映されることを利用して、解決法1aと同様のことを実現します。(btwincap や MonsterTV は PC のタイマをベースにほぼ任意のキャプチャレートを指定できてしまうので、PC のタイマのずれを考慮してここにはドロップフレームが出ないよう適切なキャプチャレートを指定してください)。
ソースを読んだわけではないですが、Bt8x8 の conexant ドライバは(奇偶いずれかの)垂直同期信号に合わせてフレームをキャプチャしているものと推測しています。日本の NTSC COLOR 放送は 29.97fps であると信じていますが、TBC のついていないビデオデッキでのテープ再生や、安物サウンドカードの録音サンプリング周波数がきっかり 29.97fps や 48KHz であるとは言えません。(正直 XWave5000 が 48006Hz とは思わなかった。)
- 解決法2:
- MUX 音ずれ防止機能を用いる (お手軽)
MUX 設定: 音ずれ防止 MUX 設定 音ずれ防止 有効
再生速度の調整のもうひとつの方法は、AVI?-独自 の音ずれ防止機能を使う方法です。この機能は動的に映像のコピー・間引きを行うというものですので、逆テレシネ等の編集を行う際には不都合がありますが、見るだけならキャリブレーションが要らないのでお手軽です。設定は簡単で '音ずれ防止' を有効にするだけです。
映像・音声それぞれについてタイムスタンプ時間とあるべき時間とのずれを計算し、その差(映像と音声の直接の差ではない)に基づいて動作しているとのことですので、ビデオキャプチャピン(カスタム)には実際のキャプチャレートを指定しておくべきでしょう。さらにオーディオ側のずれも勝手に吸収してくれます。従って、解決法1a,b と併用することはできません。
ヘルプにもありますがもうひとつ注意すべき点としては、フレームの前後参照を行うコンプレッサ (codec) を使用しているとおかしなことになるでしょう。
- 問題:
- MUX がドロップフレームの判定に失敗する
- 原因:
- PC に負荷をかけながらキャプチャしている 等
- 解決法:
- ストリームタイム補正を有効にする
ドロップフレーム誤検出防止 デバイス設定 ストリームタイム補正 有効
MUX 側のドロップフレーム判定に用いるビデオストリームのタイムスタンプ時間は不安定な物ですが、タイムスタンプのサンプル番号(この情報は通常 MUX まで行かない)を元に逆算して補正しておけば判定ミスはなくなってうれしい。ということらしいです。具体的には、ストリームタイム補正の表示時間を設定しているときはその値、設定してないときはビデオキャプチャピン(カスタム)で指定した値を使用して逆算するようです。注意すべき点が2点あります。
その1。一部の bt 用ドライバでは、ドロップフレームを出してもサンプル番号に反映しないようで、その場合はドロップフレームを検出できなくなります。IODATA GV-BCTV4/PCI のドライバもだめでした。
その2。タイムスタンプ時間が変更されるので MUX の音ずれ防止機能が影響を受けます。ストリームタイム補正と MUX 音ずれ防止を併用する際の表示時間の設定の方針としては、ビデオキャプチャピン(カスタム)にはドライバに渡すキャプチャレート。ストリームタイム補正側には何も指定しない(この場合ビデオ側のずれは常に0になる)か、前者で指定した値で正確にキャプチャされない場合、実際のキャプチャレートと言ったところでしょうか。
MUX 音ずれ防止(解決法2)との併用は以上のように気を使いますが、解決法1との併用は問題ありません。ただしエンコード目的の場合、ドロップフレームが出ないようにするほうが当然先決です。