書き出し設定
動画の書き出し設定を詳しく解説します。解像度、コーデック、ビットレート、フレームレートの選び方と、書き出しプロセスの各フェーズを理解しましょう。
書き出しの概要
VideoBuffでは最大4K解像度の動画をH.264またはH.265コーデックで書き出すことができます。ビットレートとフレームレートも用途に合わせて選択可能で、高画質な映像作品からSNS向けの軽量ファイルまで幅広く対応します。
書き出し処理はすべてブラウザ内のWebCodecs APIで行われ、サーバーへのアップロードは一切発生しません。書き出し中は進捗状況がリアルタイムで表示され、必要に応じてキャンセルすることも可能です。
完了したファイルはブラウザのダウンロード機能で保存されます。
解像度の選択
解像度はアスペクト比ごとにプリセットが用意されています。16:9(横長)では4K(3840x2160)、1080p(1920x1080)、720p(1280x720)、480p(854x480)から選べます。9:16(縦長・ショート動画向け)では4K(2160x3840)から480p(480x854)まで対応します。
1:1(正方形・Instagram向け)と4:3(従来比率)にもそれぞれ4段階の解像度プリセットがあります。用途に合わせて最適なアスペクト比と解像度を選択してください。
4K書き出しは処理時間が長くなるため、テスト書き出しには低解像度の使用をお勧めします。
コーデックの選択
H.264はもっとも広く対応されたビデオコーデックで、ほぼすべてのデバイスとプラットフォームで再生可能です。ファイルサイズと品質のバランスが良く、特にSNSへのアップロードや幅広い視聴環境を想定する場合に推奨されます。
H.265(HEVC)はH.264の後継コーデックで、同じ品質でより小さなファイルサイズ(約30〜50%削減)を実現しますが、対応ブラウザや再生環境が限定されます。
VideoBuffはアプリ起動時にブラウザのコーデックサポートをランタイムで検出し、利用可能なコーデックのみを選択肢として表示します。
ビットレートとフレームレート
ビットレートプリセットはHigh(高画質)、Standard(標準)、Light(軽量)の3段階が用意されています。4K向けには専用のプリセットがあり、30Mbps(高画質)、16Mbps(標準)、8Mbps(軽量)の3段階です。ビットレートが高いほど画質が向上しますが、ファイルサイズも大きくなります。
フレームレートは24fps(映画的な雰囲気)、30fps(一般的な動画)、60fps(スムーズな動き)から選択可能です。スポーツやゲーム映像には60fps、一般的なVlogには30fps、映画的な表現には24fpsが適しています。
書き出しプロセスの各フェーズ
書き出しは複数のフェーズに分かれて進行します。Preparing(準備)フェーズではプロジェクトの構成を解析し、書き出しパイプラインを構築します。Demuxing(デマックス)フェーズでは素材ファイルから映像と音声のストリームを分離します。
Rendering(レンダリング)フェーズではOffscreenCanvas上で各フレームを合成し、エフェクトやトランジションを適用します。Encoding Audio(オーディオエンコード)フェーズではWeb Audio APIで処理した音声をエンコードします。
Muxing(マックス)フェーズでは映像と音声のストリームをMP4コンテナにパッケージングします。進捗バーで各フェーズの進行状況が表示され、途中でキャンセルすることも可能です。
技術解説:書き出しパイプライン
書き出しにはWebCodecs APIのVideoEncoderとAudioEncoderを使用しています。各フレームはOffscreenCanvas上でビデオ・テキスト・画像の全レイヤーを合成した後、VideoEncoderに渡されてハードウェアアクセラレーションによるエンコードが行われます。
オーディオはWeb Audio APIのオフラインレンダリングでエフェクト適用済みのPCMデータを生成し、AudioEncoderでエンコードします。最終的なMP4コンテナの組み立てにはmp4-muxerライブラリを使用し、映像・音声ストリームを結合してダウンロード可能なファイルを生成します。
すべてのエンコード処理がクライアントサイドで完結し、サーバーへのアップロードは一切行われません。