miniDVテープの映像をi-Link(IEEE1394)でPCに取り込む

## 概要
最近、ふと昔撮った映像をデータ化してバックアップしようと思いました。
SDカードの容量が小さく高価だった2000年代前半、デジタルビデオカメラの記録メディアはminiDVが主流でした。
↓miniDVテープ
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/dc05954e-1d1a-7891-1e0d-462628565326.jpeg" width="300px">

読み取るのが面倒なので業者に出してDVD化してもらおうかと思いましたが、折角なので自分でやることにしました。
今回は備忘録も兼ねて、miniDVに記録された映像をi-Link接続でデジタルデータのままPCに取り込む方法を紹介します。

## i-Link(IEEE1394)とは
当時のビデオカメラには今のようにHDMI出力はなく、代わりにこんな端子がついています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/f9a57bbd-92b7-f72c-793f-95ec2585f8bd.jpeg" width="300px">

i-Link(IEEE1394, FireWire)によるDV入出力端子です。
この端子を使って映像・音声をデジタルデータのまま送受信することが可能です。
画像のものは小型の4ピンですが、昔のPCには6ピンの一回り大きいIEEE1394端子が搭載されていることがあり、変換ケーブルで接続が可能でした。
現在はUSBの速度向上やライセンスの関係から廃れて目にすることはほぼありません。

## miniDVの記録フォーマット
### 映像
miniDVはテープの名称であり、中身の映像フォーマットは1つではありません。
ただし、ほとんどの機種はSD画質の映像を「SP」と「LP」の2つのモードで記録できます。
- SP: Standard Play　→　標準モード。メーカーに依らず概ね互換性がある。一般的なテープ1本で60分。
- LP: Long Play → 長時間モード。テープの速度を落とすことでSP比1.5倍の時間記録できるが、その分読み取りエラー(ノイズ)が多くなる。

注意が必要なのはLPは録画した機種以外での再生が保証されない点です。互換性や画質を考えるとSPを選ぶのが無難です。

映像は約25Mbpsのビットレートで記録され、DV圧縮と呼ばれる映像圧縮が利用されています。
このDV圧縮はフレーム内のみの単純な圧縮で、MPEGなどのように時間方向の圧縮は行われません。
よって、現代の水準と比較して画質の割に容量がかなり大きくなっています。

※ 一部例外としてMPEG圧縮によるHD記録に対応している機種もあるそうです

### 音声
音声はステレオのリニアPCMで量子化ビット数は12か16、サンプリングレートは32か48kHzとなっていることが多いです。
音声は圧縮が行われないので、音質面では優れていると言えます。

## 手法
### 0. 環境
今回検証した環境は以下の通りです。
- ビデオカメラ: Victor GR-DV3000
- OS: Windows11 pro (64bit)
- DV記録モード: SP
### 1. IEEE1394拡張カードの準備
今回作業するPCは2019年頃作ったものなので、当然IEEE1394ポートはありません。
そこで、Amazonで[PCI-E接続のIEEE1394拡張カード](https://www.amazon.co.jp/dp/B07QV6RLFY)を購入しました。(公式にはWindows11に対応してません)
安さ重視で選びましたが、信頼性やサポート面を考えると有名メーカー製のものを選んだほうが良いかもしれません。

装着すると`VIA 1394 OHCI Compliant Host Controller`というドライバがあたりました。
![driver.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/6c27a49d-49d2-1acb-5416-7652e9e729bd.png)

自分はこのドライバで動作しましたが、ビデオカメラが認識されない場合は`1394 OHCI Compliant Host Controller`に変更したほうが良いそうです。
(自分の環境ではブルースクリーンが出て適用できませんでした)
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/3cea0c38-a729-2533-3d2a-f757045ef326.png" width="500px">

自分が買った拡張カードには接続ケーブルがついてきましたが、無い場合は端子形状を確認した上で購入しておきます。

### 2. DVキャプチャソフトでの収録
データはファイルではなくストリーミング形式で送られてくるので、DV入力に対応したキャプチャソフトでファイルとして保存する必要があります。
今回はフリーソフトの[Area61 DVビデオキャプチャ](https://www.vector.co.jp/soft/win95/art/se248126.html)を使用しました。
miniDVテープを入れて再生モードにした状態のビデオカメラをiLink接続すると、ソフト上で自動認識されます。(されない場合はドライバ等を確認)
等倍速で再生しながらキャプチャするので非常に時間がかかります。カメラはACアダプタで駆動することを推奨します。
![area61cap.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/76085a30-120d-bc0d-a48e-01a270b1130e.png)

出力ファイル名には出力先のパスを入力します。
出力DV形式は、「DV-T1」「DV-T2」の2つがありますが、入力データをそのまま保存する「DV-T1」のほうがトラブルが少ない印象です。
双方向通信なので、上のボタンを操作するとビデオカメラをコントロールすることができます。
録画する際は、事前に巻き戻しをしてから赤丸の録画ボタンを押すと、再生・キャプチャが行われ、終わると自動停止します。
(DVカム連動にするとカメラ側の操作が不要なので便利ですが、自分の環境では接続が途中で切れる問題が起きたのでチェックボックスを外して手動で操作しました。)

### 3. データの確認・圧縮
記録が終わったら、映像が正常に保存されたか確認します。
[MediaInfo](https://mediaarea.net/ja/MediaInfo)でプロパティを確認すると以下の情報が得られました。
![mediainfo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115387/c7b052d9-b8c1-5500-1f14-aa26de6ad85b.png)
データはAVIコンテナで出力されていますが、再生ソフトによってはDVフォーマットを正常に処理できないので注意が必要です。(自分が確認した限りだと早送りみたいな挙動をするソフトがあった)
その後、必要に応じてエンコード作業を行います。
記録したデータは前述したように圧縮率が低いのでテープ一本あたり最大13GB程度になりますが、新しい圧縮技術を用いることで画質をほぼ保ったまま容量を削減することが可能です。
PCやスマホで見るのが前提ならH.264やその後継のH.265への変換がおすすめです。特にH.265は非常に圧縮率が高く、映像の内容にもよりますが2～3Mbpsもあれば違いは分からないはずです。
※ DVフォーマットはインターレース方式での記録なので、変換時にインターレース解除してプログレッシブ化すると良いと思います。
自分はフリーソフトの[HandBrake](https://handbrake.fr/)で変換作業を行いましたが、インターレース解除・変換共に問題なく行えました。

## 余談
テープを1本取り込んだところでビデオカメラの磁気ヘッドがお亡くなりになりました...
最近はminiDVテープを郵送すると1本あたり400円程度でデータ化してくれる業者が数多くあります。
そのような業者は読み取り性能の良い業務用デッキを使っていると思われ、画質面でも利があります。
多少お金はかかりますが、手間を考えれば最初から大人しく業者に頼んだほうが良いかもしれません。