アセンブル前にフレームレート、長さ、番号を確認する
画像シーケンスをアセンブルするには、まずフレームレートを確定し、期待される各番号が存在するかを確認してから、計算上の長さと取り込み時の長さを比較します。映像の場合はさらに一つの問いが加わります。フレームは時間的に均等に配置されているか、という問いです。表示される平均値だけでは、可変フレームレートのソースを説明しきれません。 この確認により、加速した動き、途中で切れた終わり、徐々にずれる音声を防げます。これは編集の前、そして必要に応じたプロキシ作成の前に行うもので、すでに正しい画像を再レンダリングする必要はありません。
目的の長さと書き出し先のフレームレートを書く
まずは書き出し先から始めます。カットの長さ、要求されるフレームレート、そして同期音声の有無です。正確な値を記入してください。たとえば24、25、あるいは30000/1001フレーム毎秒といった具合です。最後の値は29.97に近い値ですが、精密な計算では30で代用してはいけません。ファイル名を簡略化するために丸めるのではなく、受け取り手から伝えられた表記の慣例をそのまま保ってください。
自分の管理表では三つの設定を区別しましょう。ソースのフレームレート、解釈上のフレームレート、編集シーケンスのフレームレートです。書き出しにも独自のパラメータがあります。これらを見えるようにしておけば、差分を説明できます。無音のアニメーションは意図的に加速させることができますが、同期したインタビューでは実時間と、発話と映像の結びつきを保つ必要があります。
最後の画像を失わずに包含範囲を数える
連続した範囲では、画像の枚数は最後の番号から最初の番号を引き、1を足したものです。例を示すと、plan_1001.pngからplan_1240.pngは1240 − 1001 + 1 = 240枚を含みます。フレームレートが一定であれば、表示時間は画像の枚数をフレームレートで割ったものです。表は同じコレクションに対する三つの解釈を示しており、どの計算も画像を一枚増やすものではありません。
24フレーム毎秒では、最後の画像は239/24秒に始まり、10秒の終わりまで表示され続けます。その開始時点を全体の長さと混同すると、一枚分のずれが生じます。最後の画像の位置を表示するプレーヤーでは、クリップの長さより小さい値が表示されることがあります。両方のツールで同じ開始と終了の扱いを比較してください。
| 解釈上のフレームレート | 計算 | 期間 |
|---|---|---|
| 24フレーム/秒 | 240 ÷ 24 | 10秒 |
| 25 フレーム/秒 | 240 ÷ 25 | 9.6秒 |
| 30000/1001フレーム/秒 | 240 × 1001 ÷ 30000 | 8.008秒 |
取り込み前にファイル名を点検する
各カットと各リビジョンは別のフォルダに整理しましょう。安定したルートと一定の桁数の番号を使います。たとえばplanA_v003_1001.pngのようにです。最初の番号、最後の番号、ファイル数、そして欠けている番号や重複した番号を確認します。合計が正しいだけでは不十分です。欠けた一枚と余分なファイルが数え上げで相殺されることがあるからです。
バッチ全体で解像度とフォーマットも確認しましょう。別のリビジョンの画像が途中に紛れ込んではいけません。FFmpegのimage2リーダーのドキュメントでは、番号付きのパターン、開始番号、連続する後続番号が規定されています。また、入力フレームレートの既定値は25フレーム毎秒と記載されています。既定値に任せるよりも、意図して自分の値を指定するほうが、アセンブル後にソフトウェアの既定値が長さを決めていたと気づく事態を避けられます。
フレームレートを解釈する、または長さを変換する
同じ画像を別のフレームレートで解釈すると、表示速度が変わります。Premiereでは、[Assume this frame rate]がクリップの長さを比例して変更し、Adobeは音声にも影響があると注意を促しています。今回の例では、24から25に変えると、あるカットが10秒から9.6秒に縮みます。この操作は創作的判断には役立ちますが、単なるラベルの修正ではありません。
25フレーム毎秒で10秒という長さを固定したい場合、出力には250の時間的位置が含まれます。その際は、ソースからこれらの位置をどう生成するかを選ぶ必要があります。繰り返し、場合によっては削除、ソフトウェアと目的に応じた混合や補間などです。モーション補間では輪郭とオクルージョンを確認する必要があり、動きがなめらかに見えるというだけの理由で受け入れてはいけません。
可変フレームレートのソースをそのクロックとともに処理する
VFRソースでは、フレーム間の間隔が一定でないことがあります。解析時にはそのタイムスタンプを保持してください。フレーム数を丸めたフレームレートで割っても、元の再生時間が必ずしも復元されるわけではありません。メディアインスペクターが示すフレームレートモードを確認し、音声と映像の再生時間を照合してください。値が欠落している、あるいは曖昧な場合は、自動的に結論を出すのではなく、お使いのソフトウェアで試してみるべきです。
ワークフローが固定フレームレートを要求する場合は、ソースを保持したまま、編集前に専用の変換を行ってください。FFmpegは特に、タイムスタンプの変換とCFRモードを区別しており、CFRモードでは要求されたフレームレートに合わせてフレームを繰り返したり削除したりすることがあります。変換後は、冒頭・中間・終盤付近で音声と映像の同期イベントを確認してください。最初の1秒で一致していても、ずれを排除するには不十分です。
バッチ処理の前にテストアセンブリを行う
完全なプランをインポートし、メディアのプロパティでそのフレームレートを確認します。表示される長さを期待される計算結果と比較し、素早い動作やショットの切り替わり付近では1フレームずつ動きを確認します。シーケンスが無音の場合、存在しない音声トラックを探さないでください。予定されている音声を別途追加し、その同期ポイントを記録します。
端を確認します。最初のフレームは開始番号のものになっていますか?最後のフレームは1フレーム分の長さ存在していますか?偶発的な黒味、ジャンプ、フリーズフレームを見つけます。ソフトウェアが静止画像を1枚しかインポートしない場合は、シーケンスとしてインポートするオプションに切り替えます。欠落を全体的なフレームレート変更でごまかそうとせず、まず欠けているフレームを見つけるか、その置き換えを明示的に決定します。
エクスポートをリアルタイムで受信し、その後フレームごとに画像を受け取る
エクスポートの前に、選択した範囲、フレームレート、解像度、音声設定を確認してください。Adobeでは、これらの設定は動画・音声のエクスポート手順にまとめられています。受け取る側が想定される尺を理解できるよう、納品書にも記載しておきましょう。「25fps」を含むファイル名は、そのファイルの実際の設定を保証するものではありません。
次に、エクスポートしたファイルをプロジェクトとは独立したプレーヤーで開きます。まず通常速度で映像を確認し、その後、気になった箇所を詳しく見てください。冒頭と末尾の内容を比較し、音声のつながりを聴き、ずれがないかを確認します。再生時の不具合が自分の環境による読み込みの問題なのか、エンコードされた欠陥なのかを区別し、再レンダリングする前に該当フレームを再確認してください。記録に基づく検収は、選択した設定だけでなく、実際に生成されたファイルを対象とします。
プランを再開できるようにするためのメモを保持
採用した各シーケンスについて、識別子、リビジョン、包含範囲、正確なフレームレート、想定される長さ、適用した時間処理を記録します。書き出したファイル名と、必要に応じて画像の差し替えについても追記します。この記録は短いものですが、数日後に芸術的な判断とデータの不備を区別する助けになります。
コンタクトシートは、キーとなるビューを見つけ出すのに役立ちますが、動きの均一性や同期を検証するものではありません。編集がまだ重い場合は、時間的に検証済みのメディアからプロキシを作成します。プロジェクトを引き渡す際は、書き出しと再開のガイドをご利用ください。ソースと適用した変換を保持しておきましょう。一定のフレームレートの結果だけでは、画像がどのように配分されたかを説明できないからです。
ご質問。
画像のシーケンスにはすでにフレームレートがありますか?+
ファイル名は順序を定義するものであり、再生テンポを必ずしも決めるものではありません。テンポはショットのシートに保持し、読み込み時に明示的に設定してください。
23.976を24に置き換えてもよいですか?+
これらの値は異なるフレームレートに対応します。ソースが24000/1001を使用している場合、パイプラインがその値を要求するときは正確にその値を保持し、変換はすべてご自身で判断し管理してください。
数枚の画像を確認するだけで十分ですか?+
末端や細部の診断には役立ちますが、動き全体は受け取れません。ショット全体も見て、音声を最後まで確認してください。