FFmpeg・WebCodecs・MotionForge:DojoClipの動画処理の仕組み
端末内で行う処理、再エンコードが必要な場面、ブラウザーでの書き出しとMusic MVの保存済み動画の違いを解説します。
DojoClipは、作業に応じて異なる方法でメディアを処理します。短いクリップのトリミング、タイムラインの書き出し、AIミュージックビデオの生成は、それぞれ別の処理です。どこで作業が行われるかを知ると、ツールを選びやすくなり、何が保存されたのかも確認できます。
動画はどこで処理されるか
| 作業 | 処理と結果 |
|---|---|
| 音声の抽出 | ブラウザー内で処理し、MP3またはWAVをダウンロードします。 |
| 動画のトリミング | 選択した区間をブラウザーで処理します。エンコード方法は操作と出力形式によって異なります。 |
| Video Edit AI | MotionForgeが端末内でタイムラインをプレビューし、書き出します。クラウドAI機能は別の操作です。 |
| Music Visualizer | MotionForgeを使って端末内で書き出します。 |
| Story Music Video | サーバーがFFmpegでアップロード素材と生成クリップを結合します。プレビューと最終MP4は別々に保存されます。 |
ブラウザー内の各エンジンの役割
DojoClipでは、音声抽出、フレーム抽出、通常のトリミングなどに Mediabunny を使用し、メディアを読み込み・変換します。ライブラリーの全機能が個々のツールで利用できるとは限りません。そのページにある操作項目を確認してください。
FFmpeg WebAssemblyは、一部の音声抽出や圧縮などで代替処理を提供し、必要に応じて読み込まれます。現在の実装は FFmpeg 0.12 API を使います。古いcreateFFmpegのサンプルとはインターフェースが異なります。
WebCodecs はブラウザーのエンコード・デコード機能です。利用できるコーデックはブラウザーと端末によって変わります。MotionForgeはエディターとビジュアライザーの合成・書き出しを担当し、遠隔のレンダリングサービスではありません。
トリミングでも再エンコードする理由
MP4などのコンテナーはメディアのトラックをまとめ、コーデックは映像や音声の符号化方法を決めます。互換性のある圧縮済みトラックを詰め直す処理はリマックス、新たな符号化データを作る処理はトランスコードです。
指定した時刻から切り出すには、デコードと再エンコードが必要になる場合があります。DojoClipでクリップを結合するときも、新たにエンコードした出力を作ります。すべての切り取りで元の圧縮データが保たれるとは考えず、原本を残して、切れ目の映像や音声の同期を確認しましょう。
ローカルのダウンロードとプロジェクト保存
ローカル処理は端末上のメディアを使います。サイト自体はアプリのコードを読み込み、一部の操作では追加ライブラリーも取得します。クラウドAI機能を選ぶと、別の手順として必要な素材のアップロードが発生する場合があります。
プロジェクトを保存しても、ローカル素材や書き出した動画が自動でアップロードされるわけではありません。ダウンロードしたファイルは端末上にあります。プロジェクト内に出力を保存したい場合は、明示されたアップロード・出力保存操作を使ってください。別の端末ではローカル素材の再読み込みが必要なことがあります。
Music MVの動画はサーバーで合成・保存されます。プレビューを再生できても、曲全体の動画が完成したとは限りません。最終結果とダウンロード操作が表示されるまで待ってください。
まず短い範囲で試す
- 変更していない元ファイルを保管します。
- 長い動画の書き出し前に、代表的な短い範囲を試します。
- 出力形式、音声、タイミング、文字、切れ目を確認します。
- 重い作業では他の負荷の高いタブを閉じ、可能なら解像度を下げます。
- コーデックが未対応なら、新しいブラウザーを試すか、元の編集ソフトから対応形式で出力し直します。
処理時間は長さ、解像度、コーデック、効果、空きメモリーに左右されます。初回のライブラリー読み込みにも時間がかかることがあります。すべての端末やファイルに共通する速度はありません。
操作例は Fast Trimガイド を参照してください。複数レイヤーの編集には Video Edit AI を使えます。