この記事では、既存のアーカイブインデックスにメタデータ、サムネイル、プロキシをインポートするワークフローについて説明します。
P5 Archiveで既にアーカイブされ、アーカイブインデックスに表示されているデータは、外部ソースからデータとJPEG/MP4ファイルを提供することで、これらの追加項目を追加することができます。
この機能を使用するには、P5のバージョン7.1.6以降が必要です。
P5 Archive: Importing metadata, thumbnails and proxies into archive indexes from external sources
この実例の目的上、P5 がセットアップされ、既にいくつかのアセットがアーカイブされているものの、これらのアセットにはアーカイブ インデックスにメタデータ、サムネイル、プロキシが付属していないことを前提としています。場合によっては、別のソフトウェア製品によって書き込まれた LTFS 形式の LTO テープが P5 にインポートされていることがあります。これらのアセットには追加のメタデータが利用可能である場合があり、このデータは、以下で説明する方法を使用して P5 がインポートできる CSV 形式にエクスポートできます。多くの場合、MAM システムは既にこのような情報を保持しており、これをマージするために CSV 形式でエクスポートできます (下記参照)。
この情報をP5アーカイブインデックスにインポートする基本は、アーカイブインデックス内の各アセットをフルパスとファイル名で参照するCSVファイル(カンマ区切り値)を作成することです。このファイルには、メタデータ値、サムネイルJPEGファイルとプロキシMP4ファイルへのフルパスとファイル名が続きます。
インデックスのエクスポート
このCSVファイルのベースとなるテキストファイルを作成するには、アーカイブインデックスの内容全体をダンプアウトするP5のCLIコマンドを使用するのが便利です。
LinuxおよびmacOSシステムでは、ターミナル/シェルで、以下のコマンドを実行すると、作業ディレクトリがP5のインストールディレクトリに変更され、nsdchatユーティリティを使用してP5と対話し、名前付きインデックス「Default-Archive」を「inventory.txt」という名前の同じディレクターのファイルにダンプアウトします。
cd /usr/local/aw
bin/nsdchat -c ArchiveIndex Default-Archive inventory inventory.txt
Windowsシステムでは、コマンドプロンプト・ウィンドウで、以下の2つのコマンドを使用してディレクトリを変更し、CLIコマンドを実行します。
cd "\Program Files\ARCHIWARE\Data_Lifecycle_Management_Suite"
.\bin\nsdchat.exe -s awsock:/admin:admin@127.0.0.1:9001 -c ArchiveIndex Default-Archive inventory inventory.txt
どちらの場合も、カレントディレクトリに「inventory.txt」という名前のファイルが作成され、アーカイブインデックスのファイルまたはディレクトリごとに1行が含まれます。この例では、ファイルの先頭は次のようになります:
/
/data
/data/metadata-ingest-test
/data/metadata-ingest-test/010bike.jpg
/data/metadata-ingest-test/011bike.jpg
/data/metadata-ingest-test/013bike.jpg
/data/metadata-ingest-test/022runner.jpg
/data/metadata-ingest-test/023runner.jpg
/data/metadata-ingest-test/025runner.jpg
/data/metadata-ingest-test/026runner.jpg
/data/Video
/data/Video/ForBiggerFun.mp4
CSV ファイルの準備
インベントリ ファイルには、インデックス内の各フォルダーのエントリに加えて、各ファイルのエントリも含まれていることに注意してください。フォルダーのみに関連するエントリは削除してください。P5 はファイルにのみメタデータを添付でき、フォルダーには添付できません。このテキスト ファイルは、メタデータをインポートするために使用する CSV ファイルのベースとなります。テスト用のインポート CSV を簡単に作成するには、このテキスト ファイルをスプレッドシートにインポートして各行に他の値を追加し、スプレッドシートを CSV ファイルとしてエクスポートします。例と Google スプレッドシートの Web ベースのスプレッドシートを使用して、これがどのように見えるかを見てみましょう。この目的には、どのスプレッドシート ツールでも問題ありません。
以下の例では、各列を説明する行を追加し、メタデータとプレビューを格納するための列を3つ追加しました。

2 列目 (B) には、A 列にフルパスとファイル名が示された元のアセットの JPEG ファイル サムネイルへのフルパスが含まれています。これらのサムネイル ファイルは、指定された場所に存在している必要があります。そうすることで、後ほど実行するインポート スクリプトがサムネイル ファイルを見つけ、アーカイブ インデックスにリンクし、P5 がサムネイルを保存するフォルダに移動できるようになります。サムネイル ファイルのファイル名は元のアセットと同じである必要はありませんが、この例では同じファイル名になっています。この例の C 列と D 列には、これらのメディア ファイルそれぞれのテキスト説明とファイル サイズ (バイト単位) が含まれています。
スプレッドシートツールを使用して、このデータをCSV形式でエクスポートしてください。必要に応じて、列見出しが含まれるファイルの最初の行を削除してください。結果として得られるCSVファイルは、以下の例のようになります。スプレッドシートの行ごとに1行が記述され、値はカンマで区切られます。
/data/metadata-ingest-test/010bike.jpg,/data/clips-for-import/010bike_clip.jpg,Road bike riders on snaky road near White Salmon.WA,166500
/data/metadata-ingest-test/011bike.jpg,/data/clips-for-import/011bike_clip.jpg,Road bike riders on Rowena Loops portion of Columbia River Scenic Highway,166500
/data/metadata-ingest-test/013bike.jpg,/data/clips-for-import/013bike_clip.jpg,Road bike rider Mt. Tabor. Portland. OR. fall leaves,166500
/data/metadata-ingest-test/022runner.jpg,/data/clips-for-import/022runner_clip.jpg,Runner on road in valley near Santa Barbara. CA,166500
/data/metadata-ingest-test/023runner.jpg,/data/clips-for-import/023runner_clip.jpg,Runner on snowy road Portland. OR,166500
/data/metadata-ingest-test/025runner.jpg,/data/clips-for-import/025runner_clip.jpg,Runner in the fog. Council Crest. Portland. OR,166500
/data/metadata-ingest-test/026runner.jpg,/data/clips-for-import/026runner_clip.jpg,Runner on Brooklyn Bridge. NY,166500
/data/Video/ForBiggerFun.mp4,/data/clips-for-import/for_bigger_fun_preview.mp4,For Bigger Fun,12917485
P5アーカイブインデックスにフィールドを追加する
インポート用のデータが準備できたので、アーカイブインデックスに追加フィールドを作成して、ファイルのサイズをバイト単位で格納する「bytes」カラムを格納する必要があります。これを行うには、フィールドエディターウィンドウを使用します。これは、P5 Archiveタブ -> 拡張オプション -> インデックス管理からアクセスできます。フィールドを追加するアーカイブインデックスをハイライトし、右クリックして「フィールド…」を選択すると、以下のウィンドウが表示されます。ウィンドウの下部に新しいフィールドを入力し、チェックボタンで上部のリストに追加します。既存のフィールドは、上の表でハイライトし、下の表で編集することができます。アーカイブ・インデックス・フィールドの追加と編集の詳細については、P5のドキュメントを参照してください。
以下の例では、新しいフィールド「user_filesize」が追加されています。’description’というフィールドはデフォルトでアーカイブインデックスに既に存在しています。

スクリプトのダウンロードと編集
シェルスクリプト(Linux/macOS)またはバッチファイル(Windows)を使って、アーカイブインデックスにデータをインポートする準備ができました。
スクリプトのシェルスクリプト版とバッチファイル版の両方を含むZIPファイルをこちらからダウンロードしてください。
これらのスクリプトは、特定のワークフローに適したフィールドをインポートするように、多少の編集/調整が必要です。ダウンロードしたスクリプトは、上記のリンク先のビデオに示されているように動作し、上記のCSVファイルに示されているフィールドを見つけることを想定しています。これらのスクリプトを変更するには、シェルスクリプトとバッチファイルについてある程度理解している必要があります。インポートにフィールドを追加する方法について、ごく簡単に説明します:
Linux/macOSのシェルスクリプトには、CSVファイルの各行を繰り返し処理するループがあります:
while read fpath cpath descr fsize
fpath、cpath、descr、fsizeは、CSVの各行から読み込まれる値に関連します。スクリプト内でのみ有効な独自の名前を使用して、必要に応じて値を追加してください。
/usr/local/aw/bin/nsdchat -s awsock:/$user:$pass:311@$ipAddress:9001 -c ArchiveEntry $aEntry setmeta user_filesize {$fsize} > /dev/null 2>&1
上の行はP5のCLIインターフェイスを呼び出し、アーカイブインデックスのフィールド名(user_filesize)を指定し、フィールドに値fsizeを配置します。上記のような行を追加して、CSVファイルからアーカイブインデックスに追加の値を書き込みます。
Windowsのバッチファイル版のスクリプトでは事情が異なります。ここでは、CSVファイルを繰り返し処理するループは次のようになります:
FOR /F "tokens=1-4 delims=," %%A in (%csvFile%) do (
ここで重要なのは’tokens=1-4’で、これはCSVファイルに4つの値を指定するものです。この’4’の部分を、CSVで指定する値の数になるように編集してください。次に
SET cpath=%%B
SET descr=%%C
SET fsize=%%D
%%B、%%C、%%Dは、CSVから読み込まれる2番目、3番目、4番目の値を表します。Eを追加して5番目の値を表し、その値を格納する変数名を選択します。例:’SET caption=%%E’。最後に
!command! ArchiveEntry %%i setmeta user_filesize {!fsize!}
ここでは’fsize’の値を取り、アーカイブインデックスの’user_filesize’というフィールドに格納しています。ここに追加の行を追加して、独自のメタデータ値を保存します。
スクリプトの実行
CSVファイルを入力ソースにしてスクリプトを実行する準備ができました。これらの例では、P5のインストールディレクトリにスクリプトを配置し、Linux/macOSで実行可能にしていることを前提としています。スクリプトの作成方法と実行方法がわからない場合は、P5サーバーで実際に実行する前に、Googleで検索して調べてください。
Linux/macOS上で以下のようにスクリプトを実行します。スクリプトは、P5サーバーの管理者アカウントのユーザー/パスを引数/パラメーターとして受け取り、最後にメタデータ情報を含むCSVファイルへのフルパスを受け取ります:
./metadata_import.sh admin admin 127.0.0.1 ./clips_linux.csv
Windowsシステムでは、batファイルの実行は次のようになります(P5のインストールディレクトリから実行し、CSVへのフルパスを指定します):
.\metadata-import.bat admin admin 127.0.0.1 C: \Users\Administrator\Desktop\metadata_win.csv
どちらの場合も、各ファイルがインデックスに配置され、メタデータが追加されていることを示すスクリプトからの出力が表示されません。うまくいかない場合は、スクリプトにデバッグ文を追加することで、何がうまくいっていないのかを知ることができるかもしれません。
インポートが成功すると、アーカイブのインデックスにアクセスし、サムネイルやプレビュー、インポートされたメタデータが表示され、検索できるようになります。ほとんどの場合、サムネイルやプロキシがインデックスに表示されるまで数分待つ必要があります。しかし、メタデータはすぐにインデックスに表示されるはずです。


