はじめに
AI動画生成は、デモを見ると非常に簡単に見えます。プロンプトを書き、少し待てば、映画のような映像が出力されます。
しかし実制作では、料金やクレジット以外にも大きなコストがあります。それは結果の不確実性です。
5秒のカットを1本得るだけでも、顔の一貫性、動きの破綻、構図のずれ、前後カットとの不整合などにより、何度も生成をやり直すことがあります。
そこで今回は、すべてのフレームをゼロから生成するのではなく、利用権限のある既存映像を解析し、ハイライト抽出・再構成・音楽差し替えを行うワークフローを試しました。
使用したのは、ブラウザで動作するオープンソース動画編集ツール Timeline Studio です。
- GitHub: MartinDelophy/ai-video-editor
今回の要件
入力素材は次の3点です。
- 約2分のメイン映像
- 5分を超える音楽ファイル
- 最後の3秒に使う別の映像
完成条件は次のように設定しました。
- 長さは15秒
- 0〜12秒は複数の短い断片で「記憶」のようなリズムを作る
- 中盤に明確なトランジションを入れる
- 12〜15秒は別素材の2:48〜2:51を使用する
- 元映像の音声は使用しない
- 音楽は1:20付近のハイライトを使う
- 最後は急停止ではなく、フェードアウトで終了する
最終的な構成は以下です。
| 時間 | 編集上の役割 |
|---|---|
| 0〜3秒 | 人物と空気感を提示 |
| 3〜7秒 | 短い断片を重ねて記憶感を作る |
| 7秒前後 | フラッシュで感情の区切りを作る |
| 7〜12秒 | 運動量と感情を上げる |
| 12〜15秒 | 指定した別素材へ切り替え、黒へフェード |
ハイライト抽出は「等間隔カット」ではない
長い動画を短くするだけなら、一定間隔で分割して動きの大きい部分を残す方法でも実装できます。
ただし、それでは「動いている映像」は作れても、「意味のある短編」になるとは限りません。
今回、候補区間を判断するために考慮した信号は次の通りです。
- 音声エネルギーの変化
- 主体領域を考慮したオプティカルフロー/フレーム差分
- ショットチェンジ信頼度
- 同一人物の表情変化
- 主体領域の明瞭度
候補スコアは、例えば次のように構成できます。
highlight_score =
0.30 * audio_energy_change
+ 0.25 * subject_motion
+ 0.20 * shot_change_confidence
+ 0.15 * expression_change
+ 0.10 * subject_clarity
重要なのは、この値を自動的な最終判断にしないことです。
スコアが高くても、物語上必要な静止、動作前の予備動作、決定的な結果フレームを壊してしまう場合があります。そのため、抽出後には各カットへ次のような役割を割り当てます。
- setup
- rise
- pre-impact
- peak
- aftershock
- bridge
すべてのカットを同じ強さで並べると、15秒全体が平坦になります。最も重要なフレームを小さな「ピーク予算」に残し、前後に準備と余韻を置くことが必要です。
1:20付近から音楽の15秒を選ぶ
今回は「1:20付近の高光部分」という条件があったため、80秒ぴったりから機械的に切り出すのではなく、その周辺で自然に始まり、15秒後に収束できる区間を探しました。
採用した範囲は約 80.5〜95.5秒 です。
FFmpegで簡略化すると、次のように切り出せます。
ffmpeg \
-ss 80.5 \
-t 15 \
-i input.aac \
-af "afade=t=in:st=0:d=0.15,afade=t=out:st=14.3:d=0.7" \
-c:a aac \
-b:a 192k \
music-highlight.m4a
各オプションの目的は以下です。
-
-ss 80.5: 80.5秒から開始 -
-t 15: 15秒に制限 - 冒頭0.15秒: 短いフェードイン
- 14.3秒から0.7秒: エンディング用フェードアウト
- AACへ変換し、再生互換性を確保
単に音量が最大の区間を選ぶだけでは不十分です。短編に合う音楽区間には、拍の読みやすさ、フレーズの完結性、感情の上昇、終了可能なポイントが必要です。
「記憶の断片」を編集で作る
今回の「記憶感」は、フィルター1個ではなく、複数の編集判断を組み合わせて作りました。
非連続な8カット
0〜12秒では、長い連続映像を使わず、異なるソース時刻から8個の短いカットを選びました。
これにより、単純な抜粋ではなく、時間を再構成した印象を作れます。
中盤の短いフラッシュ
7秒前後に短いフラッシュを置き、前半と後半の感情を分離しました。
トランジションは目立たせること自体が目的ではありません。重要な表情や動作を隠さず、構造を読みやすくする位置に限定します。
12〜15秒の指定エンディング
最後の3秒には、別映像の2:48〜2:51を使用しました。
この素材は30fps、メイン映像は29fpsだったため、最終出力ではフレームレートと解像度を統一しています。また、別素材の埋め込み音声はミュートし、音楽トラックだけが聞こえるようにしました。
14.3秒から黒へフェード
15秒で映像を強制終了すると、尺は正しくても作品としては唐突です。
今回は14.3秒から15秒まで黒へフェードし、映像と音楽を同時に着地させました。
MP4ではなく編集可能なタイムラインを残す
完成MP4は配布物ですが、編集のソース・オブ・トゥルースではありません。
今回のプロジェクトには以下の情報が残っています。
- 8個の記憶カット
- 3秒のエンディングカット
- 各カットのソース時刻
- 中盤のフラッシュ
- 最後のフェード
- 1本の音楽セグメント
- 元映像音声のミュート状態
- 出力解像度とフレームレート
Timeline Studioでは、これらを .timeline プロジェクトとして保存します。
そのため、「最後のカットを300ms早めたい」「音楽の開始を少しずらしたい」といった修正でも、巨大なFFmpegフィルターを組み直したり、解析を最初から実行したりする必要がありません。
上の画像は実際の制作記録です。0〜12秒の構造を維持しながら、12〜15秒だけを別素材へマッピングし、29fps/1906×1080へ統一しています。
書き出し後の検証
エンコーダーが正常終了しただけでは、動画が完成したとは言えません。
最終出力では以下を確認しました。
- 再生時間: 15.000秒
- 解像度: 1906×1080
- フレームレート: 29fps
- 総フレーム数: 435
- 映像コーデック: H.264
- 音声コーデック: AAC stereo
- 12秒地点で指定素材へ切り替わる
- 14.3〜15秒で黒へフェードする
- エンディング素材の元音声が混入しない
- 全フレームをエラーなくデコードできる
メタデータ確認には ffprobe を利用できます。
ffprobe -v error \
-show_entries format=duration \
-show_entries stream=index,codec_name,width,height,r_frame_rate,channels \
-of json output.mp4
コンテナ情報だけでなく、全体を一度デコードする検証も有効です。
ffmpeg -v error -i output.mp4 -f null -
これにより、書き出し成功メッセージだけでは発見できない壊れたフレームやストリームエラーを検出できます。
生成だけに依存しないハイブリッド方式
この方法は、生成AIを否定するものではありません。生成を使う位置を変える考え方です。
必要なショットが存在しない場合、生成AIは非常に有効です。一方で、すでに使える映像があるのに、似たカットを何度も再生成するのは、時間とクレジットの両方を消費します。
実運用では次のようなハイブリッド構成が現実的です。
- 権利を確認できる既存素材を再利用する
- 映像を解析し、構造を再設計する
- 不足しているショットだけを生成する
- 生成結果を編集可能な素材として読み込む
- 全体を一つの作品として検証する
生成できること以上に、何を残し、どこを切り、どこでピークを作り、どう終わらせるかが重要になります。
著作権・利用許諾について
再編集は、他者の映像を無断でダウンロードして再投稿することではありません。
利用する素材について、少なくとも次の点を確認する必要があります。
- 自分で制作・生成した素材か
- 編集と再公開の許可があるか
- ライセンスが二次的著作物や商用利用を許可しているか
- 音楽、肖像、ブランドに関する権利を確認できるか
- 必要なクレジットや透かしを維持しているか
新しい構成、視点、説明、体験を加えることが再編集の価値です。透かしを削除して同じ内容を再投稿する行為とは明確に区別すべきです。
Timeline Studioについて
Timeline Studioは、ローカルのメディア解析、ブラウザ上の編集、決定論的なレンダリングを接続することを目指したオープンソースプロジェクトです。
現在、以下のようなワークフローに利用できます。
- コンテンツを考慮したハイライト抽出
- ショート動画の自動構成
- 音楽ハイライトの選択
- 編集可能なトランジションとエフェクト
- 字幕・音声処理
- AI生成映像の素材化
- ローカル優先のメディア処理
- 再編集可能な
.timelineプロジェクト
リポジトリはこちらです。
https://github.com/MartinDelophy/ai-video-editor
Issue、フィードバック、コントリビューションを歓迎します。
まとめ
AI動画生成によって素材を作るコストは下がっています。しかし、素材が増えただけで物語が自動的に良くなるわけではありません。
生成は「利用可能な素材」を決めます。編集は「視聴者が体験する内容」を決めます。
個人開発者や小規模チームにとって重要なのは、すべてをゼロから生成することではなく、ハイライト抽出、構成、音楽、終わり方までを再現可能なワークフローとして持つことだと考えています。

