Google Cloud Platform

保存用マスターによるメディアの長期保存

GCP_Storage_Data_Transfer.jpg

※この投稿は米国時間 2019 年 10 月 3 日に Google Cloud blog に投稿されたものの抄訳です。 

メディア企業とエンターテイメント企業では多くのストレージのニーズがあり、適切なデータを適切な期間、確実に保存する必要があります。多くの場合メディア アーカイブは、メディアがすぐに利用できるリポジトリと考えられており、編集、ポスト プロダクションなどさまざまな中短期的ワークフロー ニーズや、配布用マスターの保存などに利用されます。 

しかし、多忙な制作会社とメディア アーカイブでは、長期的なデジタル メディアの保存は常に最優先事項とは限りません。メディア アーカイブの特に重要な役割は、ほぼ間違いなく、将来にわたってコンテンツの保存用マスターを保有し、いつでもアクセス可能にすることだと言えるでしょう。Google Cloud Platform(GCP)でメディア ファイルを扱う場合、保存性に配慮することが重要です。 

通常、デジタル メディア アーカイブには、動画ファイル、静止画像、バイナリ ファイル、ドキュメントなど、さまざまなファイル形式が含まれています。動画ファイルのカテゴリには、数百を越えるラッパー型、ファイル形式、コーデックが含まれています。今日こうしたメディア形式は、すぐに利用できて簡単にワークフローに統合できますが、必ずしも長期的な保存用に設計されているとは限りません。将来的には、メディアタイプは頻繁な変化を経て、使えなくなる可能性があります(8 トラックテープ、CD、DLT バックアップ テープのことを考えてみてください)。 


コーデックには有効期間があり、また動画圧縮技術も常に改良を続けています。一般的な形式は、定期的に更新および改善されますが、そうでない場合は廃止になります。そのため、将来、そうしたメディア ファイルは、読み込むことが非常に難しいか、あるいは不可能になります。加えて、コーデックによってはライセンスが必要なものがあり、将来的にそのコーデックの開発業者が廃業した場合には、問題が起こります。例えば、ブロードキャスト用マスターは、多くの場合、画像の品質劣化がないコーデックで記録され、現在のワークフロー エコシステムではうまく機能しています。ただし、そのコーデック自体が廃止になる可能性があります。すでに廃止された圧縮形式で保存されたメディア ファイルを、読み込む方法が見つかる可能性はあります。ただし最悪の場合は、Cloud Storage 料金を支払ってまったく役に立たないデータを保存するばかりか、その中にあるメディアを失うことにもなりかねません。ですから、圧縮動画ファイルとプロキシは、長期の保存には向いていないのです。

長期間の保存に耐えうる、メディアの保存用マスターを作成する方法を検討することが大切です。ここでは、将来も大切なアーカイブ メディア ファイルにアクセスできるように、GCP、具体的には Cloud Storage を利用して保存用マスターを作成する方法をご説明します。

メディア アセット管理システムはプロキシ ファイルに依存することにご注意ください。これは検索が容易になり、機械学習(ML)や人工知能(AI)分析など、クリップの定義やコード変換のタスクに有用であるためです。これらのファイルを共通フォーマットで作成すると、アーカイブのメンテナンスが簡単です。これらのファイルは、効率的なストレージ、取得、レビューを目的として、ソースメディアの圧縮バージョンとして設計されています。多くの場合、解像度と品質面でオリジナルのファイルよりも劣ります。作業用のメディア ファイルと考えて、アーカイブ用または保存用マスター ファイルとは区別しておく必要があります。 


メディア保存用マスターを作成するおすすめの方法

メディア アーカイブ内では、保存用マスターを、将来的に取得と読み取りが容易な形式で保存する必要があります。すべてのプロキシの元となるオリジナルの参照元動画ファイルをフレーム シーケンスに変換して、保存用マスターを作成する方法がおすすめです。このフレーム シーケンスによる手法は、映画芸術科学アカデミー(AMPAS)米国立公文書記録管理局、米議会図書館の方針とも一致するものです。さまざまなツールを使って、動画ファイルからファイル シーケンスを作成できます。これには FFMPEGOpenDCP などの数々のトランスコーダー ソリューションが含まれます(この記事の後半で、FFMPEG の使用例をご紹介します)。

ファイルをフレーム シーケンスに変換したら、できる限りオリジナルの参照元ファイルの品質と解像度を再現できるフォーマットで保存します。その後、これらのファイルを Cloud Storage の最大保存期間の Coldline Storage に移動して保存します。これは、あらゆるメディアを地理的に離れた地域に最低 3 本保存するという、映画業界の要件にも合ったものです。災害などで物理的なデータテープが破損もしくは紛失した場合にも、これによってメディア ファイルの復旧が可能です。Coldline Storage は、万が一ほかのコピーがすべて失われた場合の最終手段、いわゆる「第 3 のコピー」として理想的です。保存用マスターに、こうしたシナリオでアクセスする必要はほとんどありません。普段メディアを使用するために、Standard、Nearline、Coldline Storage に、メザニン ファイルやプロキシ ファイルを保存できるからです。将来的に最新の品質の高いコーデックが利用できるようになれば、必要に応じて新しいコーデックや形式を使い、保存用マスターを活用して新しいプロキシ ファイルやメザニン ファイルを作成できます。


さまざまな形式を利用して、保存用マスターに適した画像シーケンスを保存できます。もともと Kodak が開発した DPX が最も一般的な形式ですが、OpenEXRJPEG 2000 も、さらに人気を集めつつあります。一部はファイルが圧縮されるものの、これらの形式は世界中のアーキビストの間で、高品質なアーカイブ形式と考えられています。 

ほとんどのアーカイブでは、形式に関する仕様がありますが、これは特定のアプリケーションに適合させるためです。保存用のフレーム形式に関しては、ソース素材とその仕様に強く依存するため、万能の形式はありません。例えば、古い白黒ニュース映画フィルムを、アスペクト比 1.33:1、標準画質の解像度でデジタル動画に変換します。このメディアを、16 ビットカラー、HD 画質でアーカイブする必要はありません。元の素材に情報が存在せず、また色深度と画質を高くしても、ファイルサイズが大きくなるだけで、メディア自体の品質は向上しないからです。


取り込み時に、メディア保存用マスターを作成する

クラウドベース ワークフローの入力パイプラインの一部として、コンテンツをシステムに取り込むときに保存用マスター ファイル シーケンスを作成することを検討してください。この並列プロセスによって、ワークフローに必要なプロキシ ファイルやメザニンコピーを、マスター ファイルと同時に作成できます。それによって、大量のデータをさまざまなストレージ クラスに出し入れする必要がなくなります。すべての関連ファイルの命名、メタデータ、固定 / ダイジェスト エントリ、フォーマットのステージが完了したら、保存用マスターを Coldline Storage に移動できます。 


ワークフローの例は次のとおりです。

  1. ローカルマシンで、ソース メディア ファイルのチェックサムを作成

    1. ファイル名をメディア アセット マネジメント(MAM)システムに記録

    2. ソース チェックサムを MAM に記録

  2. メディア ファイルを Cloud Storage にコピー

  3. ソースファイルのチェックサムと GCP にコピーしたファイルのチェックサムを比較

  4. ソースファイルをプロキシにコード変換

    1. メザニン形式:  メザニン ファイル名 / ロケーションを MAM に記録

    2. ML / AI / 検索 / MAM アプリケーションのプロキシ:  プロキシのファイル名 /
      ロケーションを MAM に記録

    3. メタデータ抽出用 ML / AI API を適用

    4. メタデータを MAM に記録

  5. ソースファイルを画像シーケンスに変換

    1. 画像:  FFMPEG を使用

      1. TIFF、DPX、OpenEXR、そのほかのアーカイブ形式

    2. 音声:  FFMPEG を使用

      1. 非圧縮 WAV あるいはその他のアーカイブ用音声形式

  6. 画像シーケンスと音声ファイルを Coldline Storage に移動

    1. ファイルのロケーション パスを MAM に記録

    2. チェックサムを MAM に記録(ファイル ヘッダーから抽出)

FFMPEG を使用して、画像シーケンスを作成

さまざまな画像操作ツールを使って、動画ファイルからアーカイブ品質の画像シーケンスを作成できます。FFMPEG は、さまざまなメディア処理に使うことができるオープンソースのツールです。以下は、FFMPEG を使って、動画ファイルから画像シーケンスを作成するチュートリアルです(企業ポリシーやその他の事情によって、個別のプロセスの一部が異なることにご注意ください)。

1. FFMPEG をダウンロードして、ローカルマシンの OS にインストールします。下記のチュートリアルは、ローカル デバイスまたはローカルシェルを使用して行います。

FFMPEG の機能は非常に豊富ですが、今回のチュートリアルでは、単純なコマンドをいくつか学べば、目的を達成できます。ツールについてさらに詳細を知りたい場合は、FFMPEG のドキュメントをご参照ください。

画像シーケンスを抽出する際に、ファイル ストレージのフットプリントが増加する場合があることにご注意ください。例えば、下記のテストファイルで、DPX シーケンス形式のファイルを抽出する場合、同等の JPEG 2000(j2k)ファイルは、全体のシーケンスに 60 MB しかありませんが、テストファイルの集計データ フットプリントのサイズは 5.36 GB にもなります。独自のアーカイブ ポリシーに応じて、保存要件に最適な抽出形式を決定してください。最もニーズに合ったフレーム シーケンス形式を決定するには、ソースファイルのビット深度と解像度が参考になります。 

2. 変換用として、この ProRes 動画テストファイルをダウンロードします。このファイルは、後に下記で作成する新しいディレクトリにコピーします。

3. ターミナルまたはシェル ウィンドウでホーム ディレクトリに移動して、画像シーケンスを保存するための新しいディレクトリを作成します。

  mkdir myTestSequence
cd myTestSequence

4. ダウンロードした TestProRes4444.mov ファイルを見つけたら、そのファイルをステップ 3 で作成した myTestSequence ディレクトリに移動します。 

5. ターミナルあるいはシェルで、myTestSequence ディレクトリから、次の FFMPEG コマンドを実行します。

  ffmpeg -i /TestProRes4444.mov -q:v 1 -profile:v 1 -c:a copy TestJ2K_%03d.j2k

このコマンドは、TestProRes4444.mov ファイルを読み取り、j2k シーケンスに最高品質で変換します(-q:v 1 パラメータで指定)。出力ファイル拡張子の直前の「_%06d」パラメータによって先頭のゼロが補われ、画像シーケンス番号が 6 桁になります。これを調整して、抽出するフレーム数に合わせる必要があります(例えば、30フレーム/秒で記録された 1 時間の動画の総フレーム数は 108,000 です)。JPEG 2000 フォーマットの完全なパラメータ セットについては、FFMPEG のドキュメントを参照してください。

6. myTestSequence ディレクトリ内で、ファイルを一覧表示します。表示されるファイルは、以下の通りです。

  TestJ2k_000000.j2k
TestJ2k_000001.j2k
TestJ2k_000321.j2k

7. このテストファイルには音声は含まれていませんが、以下のコマンドを使って、ソース動画に埋め込まれた音声ファイルを抽出できます。

  ffmpeg -i TestProRes4444.mov -f wav -ab 192000 -vn TestJ2k.wav

-ab 192000 パラメータを使用して、抽出した音声ファイルのデータ転送速度を決定できます。画像シーケンスとオーディオ設定については、それぞれの組織で推奨される保存ファイルとオーディオ設定を決める際の方法と、両方の設定に関して組織のアーカイブ メディア戦略を満たすパラメータを参照してください。おすすめの形式についての詳細は、下記の記事リストをご確認ください。

圧縮動画ファイルをアーカイブ用のフレーム シーケンスと音声ファイルに変換するために、ここでおすすめした方法を適用することで、メディアを長期の保存により適したものにできます。 

Cloud Storage を使ったアーカイブ、およびデジタル メディアの保存の詳細については、以下の記事をご覧ください。

-By Buzz Hays (Google Cloud エンターテイメント業界向けソリューション担当グローバル リード)