1 ポイント 投稿者 kmg28801 4 시간 전 | まだコメントはありません。 | WhatsAppで共有

動画編集が初めてだったので、1本に半日ずつかかっており、編集工程をコードで自動化しました。

入力は、シーンごとに narration / visual / callout を書いた YAML 1枚だけです。
python3 src/pipeline.py scenario.yaml config.yaml の1行で完成した mp4 が出力されます。

パイプライン(Python):

  • 台本 → TTS ナレーション(say / Supertone / ElevenLabs を差し替え式、結果をキャッシュ)
  • ナレーションの長さに合わせて字幕タイミングを自動配分、ナレーション=字幕は同一
  • 字幕・コールアウトを PNG にレンダリングして overlay(この ffmpeg ビルドには libass/drawtext がないため選んだ方式 — 韓国語の縁取り・位置のピクセル制御がむしろ簡単)
  • 縦向きに撮ったスマホ動画は背景ブラーのパディングでアスペクト比を自動補正(config 1行で 16:9 ↔ 9:16 ショート動画)
  • ナレーションを concat + BGM をミックス(動画の終わりに合わせて BGM を自動カット + フェード → 「黒い末尾」を防止)
  • レンダリング後に長さのドリフト・最後のフレームの明るさを自動検査

faceless 字幕動画専用で、実際にこのツールで自分の YouTube チャンネル動画を作っています。

制約: 字幕は単語単位の同期ではなく、シーン単位(文字数比例配分)です。
また、この環境の ffmpeg に libass がない前提で作っているので、PNG overlay 方式がデフォルトです。

完璧な編集ソフトの代替ではなく、「台本 → 下書き動画」を実質 0 秒にして、反復制作コストをなくすのが目的です。

スモークテスト(キーなしで macOS say 音声を使って全パイプラインを確認):
python3 -m pip install -r requirements.txt
python3 demo/make_placeholders.py
python3 src/pipeline.py demo/scenario.yaml demo/config.yaml

MIT。フィードバック歓迎です。

まだコメントはありません。

まだコメントはありません。