45本のビデオテープをデジタル化する8年がかりの挑戦(前編)
原文は Michael Lynch により に公開されました。 このブログを購読する
この8年間、私はビデオテープが入ったこの箱を、4つのアパートと一軒の家へと持ち歩いてきました。中身は子どもの頃の家族のホームビデオです。
600時間以上を費やした末、ようやく満足いく形でデジタル化と整理ができ、オリジナルのテープを処分できるようになりました。現在の映像はこんな感じです。


デジタル化され、プライベートなメディア共有サーバーから視聴できるようになった、私のホームビデオの全て
全部で513本のクリップがあり、それぞれにタイトル、説明、収録日、映っている全員のタグ、そして収録当時の全員の年齢が付いています。すべては家族だけがアクセスできるプライベートなメディア共有サイトでホストしており、運用コストは月1ドル未満です。
この記事では、私がどうやってやり遂げたのか、なぜ8年もかかったのか、そしてもう少し少ない労力で同じことを達成する方法について説明します。
甘かった最初の挑戦
2010年頃、母が何かのVHSからDVDへの変換機器を買い、ホームビデオをすべてそれにかけました。

母がテープから作成したオリジナルのDVDコピー(抜けているアルファベットがどうなったのかはわかりません)
問題は、DVDが1セットしかなかったことです。家族はみんな違う州に住んでいたので、ディスクを回し読みするのは不便でした。
2012年に、姉からそのDVDをもらいました。私はそれらを動画ファイルにリッピングし、すべてクラウドストレージに放り込みました。これで解決!

Google Cloud Storageで家族のホームビデオのDVDリップを共有
数週間後、誰かテープを見たか尋ねてみました。誰も見ていませんでした。私自身も見ていませんでした。YouTubeの時代に、面白い映像を探すために3時間もある正体不明のファイルをダウンロードするなんて、あまりにも退屈に思えたのです。
唯一乗り気だったのは母でした。「よかったわね」と母は言いました。「じゃあ、やっとこのテープ全部捨てていいの?」
まずい。これは恐ろしい質問でした。見落としているテープがあったらどうしよう?もっと高画質でデジタル化できるとしたら?VHSテープのラベルに面白い情報が書かれていたら?
可能な限り最高の画質ですべての映像を漏れなく取り込めたと確信できるまでは、オリジナルのテープを捨てる気にはなれませんでした。つまり、自分でやるしかなかったのです。
自分が何に足を踏み入れようとしているのか、その時の私はまったくわかっていませんでした。
そんなに難しそうには聞こえない
なぜこれに8年も何百時間もかかったのか不思議に思っても、無理はありません。私も簡単なプロジェクトだと思っていました。
デジタル化のプロセスを最初から最後まで図にすると、こんな感じです。
いや、あれは理論上の話です。実際はこんな感じでした。
費やした時間の大半はやり直しでした。ある工程を完了しても、1つか2つ先の段階で手法の欠陥に気づくのです。例えば、20本のテープを取り込んでから、音声がわずかにズレていることに気づきました。あるいは、何週間も編集した後で、オンラインでのストリーミングに対応していない形式で動画を書き出していたことに気づいたこともあります。
皆さんの正気を保つためにも、読者の皆さんを私と一緒に何度も後戻りさせてやり直させるのではなく、プロセスが常に前へ進んでいたかのように説明していきます。
ステップ1:ビデオの取り込み
さて、話を2012年に戻しましょう。母は20年間にわたる家族のホームビデオの管理役を早く終えたいと思っており、次に会ったときにビデオテープがぎっしり詰まった大きな段ボール箱を私に手渡しました。こうして私のデジタル化の冒険が始まったのです。
手っ取り早い解決策はプロに外注することでしょう。デジタル化を請け負う会社はたくさんあり、古いホームビデオの処理を専門とする業者もいます。
私はどちらかというとプライバシーに敏感な方なので、(適切な年齢の時の、別に変なことではない)トイレトレーニング中の自分が映った映像を知らない人に渡すのは気が進みませんでした。それに、ビデオのデジタル化なんてどれだけ難しいというのだろう、とも思っていました。
ネタバレすると、めちゃくちゃ難しいです。
初めての取り込み挑戦
古い家族のVCRはまだ父の家の地下室にあったので、次にランチで会ったときに掘り出しておいてくれるよう頼みました。Amazonで安いRCA-USB変換アダプタを買い、早速作業に取りかかりました。

TOTMCビデオキャプチャデバイス。この過程で購入した数多くのA/V機器の1台目です。
USBキャプチャデバイスからの映像を処理するために、VirtualDubを使いました。2012年時点で少し古いソフトでしたが、そこまで古いわけではありませんでした。

VirtualDubを使って、4歳の私が父に本を読み聞かせている生の映像を取り込む様子
厄介な音ズレという疫病
編集を始めてすぐに、音声と映像がわずかにズレていることに気づきました。まあ大丈夫、少し音声をずらせばいいだけだ。
10分後、またズレていました。最初にずらす量が足りなかったのかな?
やがて、音声と映像が単にズレているのではなく、異なるレートで取り込まれているのだと気づきました。テープが進むにつれて、どんどん乖離していくのです。同期を保つには、テープの数分ごとに手作業で音声を調整し続けなければなりませんでした。

音声と映像を異なるレートで取り込む環境では、数分ごとに手作業で音声を補正するしかありません。
10ミリ秒早すぎる音と10ミリ秒遅すぎる音を聞き分けるのがどれだけ難しいかご存知ですか?本当に難しいんです。ご自身で判断してみてください。
こちらは、我慢強い愛猫のブラック・マジックと遊んでいる私の動画です。音声が映像とわずかにズレています。音声は映像より進んでいるでしょうか、それとも遅れているでしょうか?
音声と映像がズレている動画クリップの例
マジックがジャンプする場面を、速度を5分の1に落としたものがこちらです。
音声と映像がズレた状態を5分の1の速度で再生
何百時間も無駄にするくらいなら、100ドル余計に払った方がいいのかもしれない
音声の補正だけで、何時間もの退屈で発狂しそうな作業がかかりました。Amazonで一番安いビデオキャプチャデバイス以外のものを選べば、この頭痛の種を避けられるかもしれないと、ようやく思い至りました。少し調べてから、新しいものを買いました。

ビデオキャプチャデバイス購入の2回目の挑戦
新しいデバイスでも、やはり音ズレは解消しませんでした。
スーパーを目指す
もしかするとVCRが原因なのかもしれません。デジタル化のフォーラムでは、「タイムベースコレクタ」(TBC)を搭載したVCRなら音ズレは起きないと書かれていました。これはSuper VHS(S-VHS)VCRによくある機能です。
なるほど!問題を解決してくれるスーパーなVCRがあるのに、なぜ間抜けな普通のVCRで悪戦苦闘していたんだろう?
S-VHS VCRはもうどこも製造していませんが、eBayではまだ手に入ります。私はVHSのデジタル化に適しているとされる機種、JVC SR-V10Uに179ドルを費やしました。

eBayで179ドルで購入したビンテージのJVC SR-V10U VCR
スーパーVCRが郵送で届きました。何ヶ月も音ズレに苦しんだ末、すべての問題を解決してくれるはずの機器を手にした私は大喜びでした。
箱を開け、すべてを接続してみましたが、音声はやはりズレたままでした。はあ。
面倒なトラブルシューティングと何年にもわたる停滞
ハードウェアのトラブルシューティングは悲惨でした。クローゼットから機材をすべて引っ張り出し、デスクトップPCの裏に這い込んで全部つなぎ、取り込みを試しては、うまくいかないことを確認するのです。
おや、2008年のどこかのフォーラム投稿で、怪しげな署名なしの中国製デバイスドライバをインストールしろと?ひどい考えですが、藁にもすがる思いです。でも問題は解決しません。
別のキャプチャソフトも試しました。VCRの磁気ヘッドを掃除するための特殊なVHSテープも買いました。3台目のキャプチャデバイスも買いました。結果はいつも同じでした。
決まって私は諦め、すべてを取り外し、機材をまた数ヶ月間クローゼットに追いやるのでした。
プロのデジタル化業者に降参する
時は流れて2018年。私はこれらのビデオテープと大量の機材を4つのアパートへと引きずって運び、ニューヨーク市からマサチューセッツへの引っ越しを準備していました。自分一人ではこのプロジェクトを決して終えられないことが明らかになった今、これらをまた引っ越しで運ぶ正当な理由が見つかりませんでした。
家族に、テープをデジタル化業者に送ってもいいか尋ねました。幸い、誰も気にしませんでした。みんな映像をまた見られることの方がずっと楽しみだったのです。
私:でも、どこかの会社が僕らのホームビデオ全部にアクセスできるってことだよ。それでもいいの?
姉:うん、気にしないよ。気にしてるのはあんただけだよ。ちょっと待って、最初からお金払って誰かに頼めたってこと?
私:えっと……
45本すべてのテープをデジタル化するのに750ドルかかりました。高く聞こえるかもしれませんが、その時点の私なら、映像機器のトラブルシューティングを1分でも避けられるならいくらでも払うつもりでした。
ファイルが戻ってきたとき、その品質は文句なしに優れていました。私が取り込んだ映像は常に端の部分が「テアリング(引き裂き)」を起こしていましたが、プロはすべてを歪みなくデジタル化してくれました。何より素晴らしかったのは、音声と映像が完璧に同期していたことです。
デジタル化業者の取り込みと私自身の取り込みを比較した動画がこちらです。
母が私の初めてのプログラミング体験を録画したテープで、プロによる取り込みと私自身の取り込みを比較
ステップ2:編集
ホームビデオでは、映像の約90%は退屈で、8%は面白く、2%は素晴らしいものです。テープをデジタル化した後も、まだやることはたくさんあります。
Adobe Premiereでの編集
VHSテープには、長い映像クリップの流れが無音部分と混ざって収録されています。テープを編集するには、各クリップがどこで始まりどこで終わるかを特定しなければなりません。
編集にはAdobe Premiere Elementsを使いました。買い切りライセンスで100ドル未満です。VHSテープの編集で決定的に重要だった機能は、ズーム可能なタイムラインです。これにより、大まかなシーンの切れ目を素早く見つけ、ズームインしてクリップが始まる/終わる正確なフレームを特定できます。

Adobe Premiere Elementsの非常に貴重なズーム可能な編集タイムライン
Premiereの問題は、頻繁に開始と停止を繰り返さなければならないことです。私の手順はこうでした。
- 30〜120分の映像を含む生のキャプチャファイルを開く。
- 1つのクリップの境界をマークする。
- クリップを書き出す。
- 書き出しが完了するまで2〜15分待つ。
- テープが終わるまでステップ2〜4を繰り返す。
長い待ち時間のせいで、私はビデオ編集と他の作業との間で常にコンテキストスイッチを強いられ、何時間も集中力がめちゃくちゃになりました。
もう一つの欠点は再現性がないことでした。小さなミスを修正するのも、最初から全部やり直すのとほぼ同じくらい大変だったのです。これが痛手となったのは動画共有の段階に至ったときでした。その時になって初めて、Webブラウザがネイティブにストリーミングできる形式で書き出すべきだったことに気づいたのです。選択肢は、数百のクリップを書き出す面倒なプロセスを最初からやり直すか、書き出した動画を別の形式に再エンコードして画質を劣化させるかのどちらかでした。
ロボット編集
気恥ずかしいほどの時間を手作業ですべてこなした後、人工知能に問題を丸投げできないかと考えました。クリップの境界を特定するのは、機械学習に適したタスクのように思えました。精度が完璧ではないことはわかっていましたが、80%は機械にやってもらい、残りの20%を手作業で直せばいいかもしれないと思ったのです。
pyscenedetectというツールを試してみました。これは動画ファイルを解析し、シーンが切り替わるタイムコードを出力してくれます。
$ docker run
--volume "/videos:/opt"
handflucht/pyscenedetect
--input /opt/test.mp4
--output /opt
detect-content --threshold 80
list-scenes
[PySceneDetect] Output directory set:
/opt
[PySceneDetect] Loaded 1 video, framerate: 29.97 FPS, resolution: 720 x 480
[PySceneDetect] Downscale factor set to 3, effective resolution: 240 x 160
[PySceneDetect] Scene list CSV file name format:
$VIDEO_NAME-Scenes.csv
[PySceneDetect] Detecting scenes...
[PySceneDetect] Processed 55135 frames in 117.6 seconds (average 468.96 FPS).
[PySceneDetect] Detected 33 scenes, average shot length 55.7 seconds.
[PySceneDetect] Writing scene list to CSV file:
/opt/test-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
| Scene # | Start Frame | Start Time | End Frame | End Time |
-----------------------------------------------------------------------
| 1 | 0 | 00:00:00.000 | 1011 | 00:00:33.734 |
| 2 | 1011 | 00:00:33.734 | 1292 | 00:00:43.110 |
| 3 | 1292 | 00:00:43.110 | 1878 | 00:01:02.663 |
| 4 | 1878 | 00:01:02.663 | 2027 | 00:01:07.634 |
...
確かに精度は80%程度でしたが、ツールの成果をチェックするのに、節約できた時間以上の時間がかかってしまいました。それでも、pyscenedetectはこのプロジェクト全体で最も重要な気づきの一つをもたらしてくれました。シーンの境界を特定することと、クリップを書き出すことは別の作業だということです。
自分がプログラマーであることを思い出した
それまでは、「編集」とはAdobe Premiereでやっていることすべてだと思っていました。生の映像からサブクリップを切り出す作業は、クリップの境界を見つけることと切り離せないものに感じられました。Premiereがそういう形で提示していたからです。pyscenedetectがメタデータの表を出力したとき、シーンの検出と動画の書き出しを切り離せることに気づきました。それはゲームチェンジャーでした。
編集があれほど退屈で時間がかかった理由は、Premiereが各クリップを書き出すのを待ち続けなければならなかったからです。もしメタデータをスプレッドシートに記録し、動画を自動で書き出すスクリプトを書けば、編集プロセスはあっという間に進むはずでした。
さらに、スプレッドシートによって記録できる情報の種類が劇的に広がりました。当初はメタデータをファイル名に詰め込んでいましたが、それでは限界があり柔軟性に欠けます。スプレッドシート全体を使えることで、誰が映っているか、いつ収録されたか、そして視聴時に動画と一緒に表示したいその他のデータなど、クリップについてずっと多くの情報をカタログ化できるようになりました。

巨大なスプレッドシートでホームビデオのメタデータを記録
後に、そのメタデータを使って、収録当時の私たちの年齢や、クリップで何が起きているかの詳細な説明といった情報を追加できるようになりました。

スプレッドシートの柔軟性が増したことで、クリップに関するより多くの情報を提供し、閲覧しやすくするメタデータを記録できるようになりました。
自動化された解決策の栄光
スプレッドシートを手に、CSV入力に基づいて生の動画を小さなクリップに分割するスクリプトを書きました。
この時点で、私はPremiereでクリップの境界を退屈な作業で選び、書き出しをクリックし、完了まで数分待ってからまた最初からやり直すということを、何百時間も費やしてきました。しかも、後になって品質問題に気づき、同じ映像でこのプロセスを何度も繰り返していたのです。
クリップの切り出し部分を自動化すると、肩の荷が大きく下りました。メタデータを入れ忘れたり、間違った出力形式を選んだりすることを心配する必要がなくなりました。後からミスに気づいても、スクリプトを少し調整して再実行するだけで済むのです。
パート2
クリップの取り込みと編集は戦いの半分に過ぎませんでした。あとは、すべてを家族と楽しく、安全に、そして手頃な価格で共有する方法が必要でした。
この記事の後編では、これらのクリップを月わずか0.77ドルで家族と共有するために私が使ったオープンソースのメディアサーバーについて説明します。
イラスト:Loraine Yow
これらのクリップや静止画の一部を共有することを快諾し、そもそもすべてを記録してくれ、そしてこのプロセス全体を通して温かく支えてくれた家族に特別な感謝を。
記事をランダムに読む



コメント
ログインしてコメントする