FX30のTCデータをFCPに読み込み

 Final Cut Pro(ファイナルカットプロ 以下FCP)でSONYのFX30のタイムコード情報を正しく読み込むには、収録したmp4ファイルを他のストレージへコピーせずに、カメラで記録したメモリーカードから直接読み込む必要があります。ただし、この方法で読み込み操作を行なっても、NDF(ノンドロップフレーム)タイムコードの読み込みには一部で問題があります。
 FCPでFX30の撮影データを読み込む際のタイムコードデータの取得について試してみました。

mp4とmovとxml

 FX30で記録するファイルフォーマットであるmp4ファイルにはファイル規格としてタイムコード情報を記録する機能がなく、カメラメーカーが独自にタイムコード情報を追加記録する形で対応しているようです。しかし、FCPでは独自形式としてmp4ファイルに追加記録されたタイムコードの読み取りには、対応していないようです。
 FX30の場合、mp4ファイルへのタイムコードの独自記録に加えて、xmlファイルに撮影時のメタデータを記録してmp4ファイルと共に保存しています。FCPでFX30の映像を読み込む場合は、このxmlファイルからメタデータを取得することで、撮影時に記録したタイムコード情報などを読み込んでいます。ただし、単に映像ファイルとxmlファイルが同じフォルダに配置されているだけでは、xmlファイルのデータが上手く読み込まれません。カメラで記録したメモリーカードから読み込むとタイムコード情報を含んだmovファイルに変換されて読み込まれます。
 「FCPでライブラリをつくる その1 メディアを最適化して読み込む」の「ライブラリの「パッケージの内容」を確認」、「Original Media」というフォルダには、オリジナルのメディアをコピーしたファイルが保存され、変換などの処理はおこなわれていないと記載しました。しかし、FX30の場合は事情が異なり、メモリーカードから読み込んだ場合はmov形式への変換が行われます。読み込みがほぼデータコピー程度の時間で完了するので、映像形式自体は変換されることなく、タイムコードデータを付加しているのみだと思われます。
 一方で、撮影時にデータを記録したメモリーカードからSSDやHDDといった編集用のストレージにコピーした映像データを読み込むと、mp4ファイルに対応したxmlファイルが同一のフォルダに保存されていたとしても、FCPに読み込んだクリップには撮影時に記録したタイムコードデータが反映されず、00:00:00:00から開始するタイムコードとして読み込まれます。

メモリーカードからの読み込みは必須条件か

 FX30で撮影した映像ファイルをFCPにタイムコード情報を伴って読み込むには、必ずしもカメラで記録したままのメモリーカードから読み込む必要はないようです。メモリーカードのフォルダ構造を再現しておけば、FCPはそこに格納されているmp4ファイルとxmlファイルとを紐付けて認識します
 メモリーカードをFX30でフォーマットした際に作成されるフォルダやデータファイルのうち、FCPは「PRIVATE→M4ROOT→CLIP」というフォルダ構造を見つけて、フォルダ「CLIP」内に保存されたmp4ファイルとそれに対応するxmlファイルとを紐付けて認識します。つまり、適当なHDDやSSDのルートディレクトリにこのフォルダ構造を再現し、フォルダ「CLIP」内にmp4ファイルと対になるxmlファイルとを配置すれば、FCPはその2つのファイルを紐付けて読み込みます。バックアップ済みの映像ファイルをFCPに読み込む際などには、この方法が有効です。
 なお、アドビ(Adobe)のプレミア(Premiere)でFX30の映像ファイルを読み込んだ場合は、組になるxmlファイルがない状態でmp4ファイルを読み込んでも、撮影時のタイムコード情報を取得できます。PremiereはFX30がmp4ファイルに書き込んだ独自形式のタイムコードの読み取りに対応しているようです。
 また、FX30には119.88fpsモードも搭載されていますが、このフレームレートで記録した映像データの場合、FCPでは上記の方法で読み込み操作をしてもFX30で記録したタイムコードを読み込むことはできないようです。

FX30のNDFタイムコードが読み込めない

 タイムコードには、DF(ドロップフレーム)とNDF(ノンドロップフレーム)という2つのカウント方式があります。29.97fpsの場合、1秒間に撮影・表示されるフレーム数は29.97枚であるにも関わらず、30フレームで1秒のカウントがされることによる誤差を、フレームカウントを間引くことで補正する方式です。詳しくはこちらをご覧ください
 FCPにFX30で29.97fpsや59.94fpsのDF形式で記録したタイムコードは前項の方法で正しく読み込まれますが、NDF形式で記録したものを読み込んでもDF形式として読み込まれてしまいます。なお、23.98fps設定の場合は、FX30にもFCPにもDF形式はなく、NDF形式として正しく読み込まれています
 また、FCPにはDFとNDFのタイムコードカウントを変換する機能もあるのですが、FX30で記録したNDF設定のタイムコードがDFタイムコードとして読み込まれてしまったものを修正するには適さない機能のようです。例えば、本来はNDF設定であるにも関わらずDF設定として読み込まれてしまったクリップの開始タイムコードが12:44:54:22のとき、FCPの変換機能でNDFに切り替えると12:44:08:30と全く違う値になってしまいます。このFCPのDF・NDF変換機能はアプリが誤って認識したDF・NDF形式の修正をするのではなく、別の目的に使う機能のようです。このNDF・DF変換については「FCPでタイムコードのNDF・DF変換」で詳しく記載しています。併せてご覧ください。
 もっとも、このNDFタイムコードの読み込み不具合は、他の機器と同期処理する場合に問題があるだけで、カメラで記録した映像を単に編集するだけの場合、不具合が起きることはありません。

他のアプリやカメラでの場合

 上記のファイルをAdobeのPremiereに読み込んでみると、NDF形式のタイムコードで開始時の値が12:44:54:22と正しく読み込まれます。FX30で記録したNDF形式のタイムコードがDF形式として読み込まれてしまうのは、FCPでの読み込み動作に固有の問題のようです。
 一方で、NikonのZ6でNDF形式のタイムコードを記録したファイルをFCPに読み込むと、NDF形式として正しく読み込まれます。また、開始タイムコードの値が変化していないかを試す目的でPremiereに読み込んでみると、FCPで読み込んだ開始タイムコードと同じ値で読み込まれます。PremiereではFX30のNDFタイムコードを正しく読み込んでいたことを考えると、Z6のNDFタイムコードはFCPでも正しく読み込まれているようです。つまり、FX30で記録したNDF形式のタイムコードのみ、FCPで正しく読み込むことができないようです。

タイムコードのソースデータの違い

 Z6で記録した映像ファイルはmov形式で、メタデータもmovファイル内に記録されています。また、PremiereがFX30のタイムコード情報として利用しているのはmp4ファイル内に記録されたデータだと思われます。一方で、FCPがFX30のタイムコード情報として読み込み時に参照しているのは、撮影時にmp4と共に記録されるxmlファイルです。FCPがFX30のNDF設定を上手く読み込めない原因は、FX30が記述するxmlファイルの内容か、FCPのxmlファイルの読み取りに問題があると考えて良さそうです。

まとめ

 FX30で撮影した素材データを、撮影時に記録されたタイムコードデータと共にFCPに読み込むには、カメラで記録したメモリーカードから直接読み込むか、メモリーカードのフォルダ構造を模した環境からxmlファイルと共に読み込む必要があります。ただし、29.97fps、59.94fpsのとき、FCPではFX30で記録したNDFタイムコードをDF形式として読み込んでしまいます
 なお、FX30には119.88fpsモードも搭載されていますが、このフレームレートの場合、FCPではFX30が記録したタイムコードを読み込むことはできないようです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です