テクノロジー · 実用ガイド

Premiere の書き出しが100%で停止?納品前にファイルを検証する

書き出しファイルが存在し、再生でき、デコード検査に通っても、納品要件を満たすとは限りません。送る前に範囲、必要な全音声ストリーム、実際の番組全体を確認します。

ブランド表示のない動画編集環境で、書き出しファイルとタイムライン終端を確認するオリジナル編集用画像。
オリジナルの概念イラスト:ファイルの存在や再生だけでは、納品要件を満たしたとは確認できません。 Watch at Ease

出力ファイルが存在するという理由だけで、停止した Premiere の書き出しが完了したと判断しないでください。書き込みが止まった後、ファイルを予定していた書き出し内容と比較し、必要に応じてローカル技術検査を行い、実際の映像と音声を確認します。

これはファイル検証手順であり、100%停止のあらゆる原因を診断するものでも、稼働中の処理を中止してよいという許可でもありません。単独の合格印はなく、尺、ストリーム一覧、デコード、手動確認、必要な来歴情報はそれぞれ別の目的を持ちます。

まず出力を保護し、本来の内容を記録する

保存先にファイルがあるだけでは完了通知になりません。動かない進捗率、変わらない容量、1回のI/Oゼロという観測を、書き出しを強制終了する根拠にしないでください。アプリが許すならプロジェクトを保存します。本ガイドは書き込みプロセス停止後の既存ファイルを検査するもので、安全な中止時点を決めません。書き込み状態が不明なら出力は未検証のままにし、停止したジョブを別途解決します。

検査前に、対象シーケンスと書き出し範囲、予定尺、フレームレート、寸法、必要な音声納品形式を記録します。Adobe の書き出し画面では範囲をプレビュー・選択できますが、シーケンス全体とイン点/アウト点の選択は同じではありません。ステレオミックス、複数の独立音声、字幕、Content Credentials の要否も記録します。多数の音声トラックがタイムラインにあっても、1本のミックスとして正しく書き出される場合があります。

書き込み停止後は原本を残し、別名のコピーを検査します。再試行で疑わしい出力を上書きしないでください。容量が安定していることは観測にすぎず、書き込みやファイナライズの完了を証明しません。

尺と想定する全ストリームを照合する

任意のコマンドライン検査には、ffmpeg と ffprobe の両方を含む信頼できる FFmpeg を使います。まず ffmpeg -version と ffprobe -version を実行します。command not found は環境設定の問題で、動画の失敗ではありません。例は Linux 上の FFmpeg 7.1.5 で試験し、Windows、macOS、Premiere、Media Encoder では実行していません。export.mp4 は書き込み停止済みコピーの完全な引用符付きパスに置き換えます。

次のメタデータ検査を実行します: ffprobe -v error -show_entries format=duration:stream=index,codec_type,codec_name,duration,channels -of json "export.mp4"

コンテナと各ストリームの尺を予定範囲と比較し、映像・音声一覧を納品仕様と比較します。丸められた小数尺の完全一致を求めないでください。フレーム境界、音声パディング、コンテナ表示に差が出ます。意味のある差は調査し、実際の終端を確認します。尺情報がない場合は不明であり、0でも合格でもありません。channels は1音声ストリーム内のチャンネル数で、独立ストリーム数ではありません。

音声必須なのに音声ストリームがなければ、映像が再生できても承認しません。複数音声が必須ならすべて数えて識別します。この短いコマンドはフレームレート、寸法、字幕、予定ミックスを確認しないため、プレーヤーや編集ソフトで別に確認します。プローブ成功は全編デコード済みという意味でもありません。

既定トラックだけでなく全映像・全音声をデコードする

同じコピーに次のローカル読み取り・デコード検査を実行します。マッピングした全映像・音声を FFmpeg の null 出力へデコードし、代替メディアは作成しません: ffmpeg -hide_banner -v error -xerror -abort_on empty_output+empty_output_stream -i "export.mp4" -map 0:v -map "0:a?" -f null -

明示的マッピングで全映像と利用可能な全音声を含めます。疑問符は本当に無音のファイルを許容しますが、音声納品要件を免除しません。xerror は FFmpeg が報告したエラーで停止し、abort_on は指定された空出力を拒否します。-c copy を追加しないでください。圧縮パケットのコピーはこのデコード検査ではありません。字幕・データストリームや Content Credentials も検証しません。

完了まで待ち、直後に終了状態を確認します。Bash互換シェルは echo $?、PowerShell は $LASTEXITCODE です。0でエラーなしなら、今回マッピングした内容でこのデコーダーがエラーを検出しなかっただけです。予定した終端、台詞、グラフィック、字幕の存在は証明しません。0以外なら検査未合格で、破損、非対応デコーダー、権限、環境などが原因になり得ます。メッセージを保存して調査し、自動的に破損と断定しません。

「成功」しても問題を見逃す理由

隔離試験では、2本のAAC音声を含む4秒の合成H.264動画から7個の制御ファイルを作りました。完全版、再生可能な短縮版、映像のみ版はいずれも全ストリームデコードで0を返しました。短縮版は1.52秒、映像のみ版は4秒と表示されましたが音声がありません。有効なメディアでも、元の尺と2音声を求める納品要件には不合格です。

2本目の音声を意図的に壊すと、メタデータはなお4秒・2音声を報告しました。1本目だけのデコードは0、全映像・全音声のデコードは失敗しました。物理的に切り詰めたファイルも4秒というメタデータを保ちつつデコード失敗しました。空ファイルと非動画はプローブもデコードも失敗しました。記載した10個のアサーションはすべて通り、入力ハッシュは変化していません。

これはコマンド動作の試験で、Premiere の100%停止の再現ではありません。Premiere/Media Encoder、書き込み中の安全性、C2PA署名、実際の顧客映像、Windows/macOS の組み合わせは未試験です。予定仕様、技術デコード、編集上の視聴を別検査にする理由だけを示します。

納品判断を行い、認証情報は別に確認する

納品前に、冒頭や数枚のサムネイルだけでなく、予定した書き出し全編を再生して聴きます。実際の終端を選択したタイムライン終端と比較し、必要な各音声またはミックス、台詞の連続性、同期、トランジション、グラフィック、字幕、意図しない黒画面や静止を確認します。技術デコードは有効な黒フレームや無音が作品に必要か判断できません。終端確認は既存の妥当なコミュニティ助言であり、上の検査は補足であって代替ではありません。

Content Credentials が必須なら、Adobe の別手順で書き出しアセットを確認します。再生可能でも認証情報の付与は証明せず、認証情報も映像・音声の完全性を証明しません。オンライン検査サービスへは、その素材をアップロードする許可がある場合のみ送ります。停止した出力を合格に見せるため来歴情報を削除・無効化しません。

別に記録した納品要件、技術検査、全編の手動確認をすべて満たした場合だけ承認します。ストリーム欠落、終端違い、未解決のデコードエラー、未確認の必須認証があれば未検証です。プロジェクトと既存出力を残し、正確な失敗を記録し、新しいファイル名で再試行します。これは引き渡し可否を判断する手順で、停止ジョブの万能修復法ではありません。

全編の終端と複数の音声ストリームを表示するブランド表示のない作業環境のオリジナル画像。
オリジナルの概念イラスト:納品を承認する前に、必要な映像・音声ストリームと実際の末尾を確認します。 Watch at Ease