Drama Finishing Upscaler(終期成片と1080p超分工序)
工程位置づけ:短尺ドラマの最終納品と画質向上工程。 一般的な説明は一切排除:超解像度の説明は行わず、マルチセグメント無劣化結合構文、RealESRGANのVRAMバッチ処理最適化、最終ファイルの物理検収基準 のみを集約。
1. 実行契約と入出力
- 入力:
- 第4工程が出力した8つのクリーニング済みショット:
cleaned_segments/seg01.mp4〜seg08.mp4; - または、サイドチェインダッキング済みBGMを含む最終オリジナルファイル:
[エピソード名]_final_ducked.mp4。
- 第4工程が出力した8つのクリーニング済みショット:
- 出力:
[エピソード名]_原画商業版.mp4(832×480 ネイティブ高精細納品用完成ファイル);[エピソード名]_1080p.mp4(1920×1080 映画級超解像度最終ファイル);delivery_report.json:物理パラメータ検収台帳。
2. 実践SOP:ショットストリーム無劣化結合(Zero-Loss Concat)
絶対ルール:ショット結合時に再エンコード(Re-encoding)を絶対に行わない!再エンコードは原画のシャープネスを損ない、追加の音声劣化を招く。
2.1 FFmpeg concat ゼロロスシームレス結合
一時的な結合インデックスリストを生成し、ストリームコピーを実行:
# 1. 自動生成された順序付きインデックスリスト
file 'cleaned_segments/seg01.mp4'
file 'cleaned_segments/seg02.mp4'
...
file 'cleaned_segments/seg08.mp4'
# 2. ゼロオーバーヘッドストリームコピー結合を実行
ffmpeg -y -f concat -safe 0 -i concat_list.txt -c copy concat_raw.mp4
- 所要時間:全8セグメントの結合はわずか 0.2秒、全てのフレームのオリジナル画素と音声同期を無劣化で保持。
3. 実践SOP:RealESRGAN 1080p 専有超解像度高速化
VRAM分離ポリシー:1080p超解像実行前に、ComfyUIのGPU VRAM占有を必ず解放し、RealESRGANが16GB VRAMを専有できるようにする。これにより最高のスループット速度が達成される。
3.1 産業グレード超解像推論と音声トラック多重化
scripts/upscale_video.py を呼び出し:
- モデル:
RealESRGAN_x2plus.pth; - 精度とデバイス:
CUDA+FP16半精度; - バッチサイズ:
batch_size = 4(RTX 4080専有モードで、フレームレートは ~4.8 frame/s で安定、全エピソード1400フレームは約4.5分); - 音声保護メカニズム:
超解像前にffmpegで元ビデオの音声トラックを無劣化抽出(
audio.m4a)、フレーム推論完了後にlibx264 -crf 18 -c:a copyで多重化合成、90秒のサイドチェインインテリジェントダッキングBGMとクリーンな台詞を100%完全保持。
コマンド:
python scripts/upscale_video.py --input raw_video.mp4 --output final_1080p.mp4 --model RealESRGAN_x2plus.pth --width 1920 --height 1080
4. 実践SOP:最終ファイル物理パラメータ二重検収
ファイル生成後、必ず ffprobe を使用して自動化検収テストを実行:
- 解像度厳格達成:幅1920、高さ1080(1080p未満は不合格と判定);
- フレームレート厳格一致:24.0 fps 標準映画フレームレート;
- 再生時間厳格一致:8セグメント × 175 フレーム = 58.33s 〜 58.35s;
- 音声トラック完全:独立したステレオ音声ストリーム(AAC、サンプルレート44.1kHz/48kHz)を含む。
5. 専用ツールスクリプト
- 単一ファイル1080p超解像:
python scripts/upscale_video.py --input in.mp4 --output out.mp4 - 全エピソードバッチ超解像スケジューリング:
python scripts/run_episodes_1_to_8_upscale.py