焼き込み字幕
字幕は文単位の表記で焼き込み、 プラットフォームのUIとは重ねません
Kamplyは各カットを抽出してグレーディングし、それらをつなげたあと、ブランドトークンファイルの本文フォントと、映像の上でも読みやすい文字色を使い、libassで字幕を最後に焼き込みます。
プラットフォームのUI、下から約25〜30%
最初の一時間を守る
最初の一時間を守る
- MarginV 90 / 288
- Kamplyが字幕を置く位置です。フレームの下から約31%で、UIにかぶりません。
- MarginV 75 / 288
- これが下限です。これより低いと、字幕がUIの中に入ってしまいます。
- 画面上の字幕
- アプリに同梱されているサンプルvideos/sample-30s-edl/titles.srtの三行目です。
この数値はレンダラー自体の仕様です。libassの288段階スケールでMarginV 90を指定すると、1080×1920のフレームの下から約31%の位置に字幕が置かれます。プラットフォームのUIは各社の都合で変わるため、投稿する前に最新のセーフエリアを確認してください。
実際にできること
Kamplyは、ソースクリップとそのイン点・アウト点を記したカットリストをもとに、編集済みの動画をご自身のMac上でレンダリングします。字幕の焼き込みは全4段階のうち3段階目にあたり、各範囲はカラーグレードと30ミリ秒の音声マイクロフェードを焼き込んだ状態で抽出され、各範囲がつながれ(カットがすべてストレートなら劣化のないコピー、クロスフェードやゆっくりしたズームを含む範囲があれば1回の再エンコード)、そのあとffmpegがキャプションを焼き込み、最後に音声が-14 LUFSのマスターへ書き出されます。キャプションのスタイルはエディターのプリセットではなくbrand/tokens.cssから読み込まれ、大文字で書かれた字幕はフレームに届く前に小文字化され、先頭の文字だけ大文字に戻されます。
できないこと
焼き込みは、Kamplyがすでに編集リストからカットしているレンダリングの中でのみ行われます。アプリにファイルをドロップするだけのキャプション機能はなく、ウェブ版も公開APIもなく、完成したMP4を送るアップロードボックスもありません。
どう動くか、 はじめから終わりまで
実際にアプリが動く順番のとおり、三つのステップです。
まず動画をカットする
字幕はレンダリングの一段階です。Kamplyはソースクリップと各カットのイン点・アウト点を記した編集リストをもとに動作し、キャプションの焼き込みはそのレンダリングの中で行われます。
SRTを用意するか、生成してもらう
すでにある字幕ファイルを編集リストに指定するか、テイクの文字起こしからレンダラーに生成してもらいます。どちらの場合も、字幕はカット後の完成タイムラインに合わせて配置し直されるため、タイミングは元の素材ではなくカット後の映像と一致します。
最後に焼き込み、そのあと音声をマスタリングする
グレードは各カットに焼き込まれ、字幕は最後に乗るため、キャプションの上から再エンコードされることはありません。クロスフェードが絡む場合は、結合と焼き込みが1回のパスで行われ、字幕フィルターがチェーンの最後に置かれます。ffmpegがlibassで字幕を文単位の表記とブランドのスタイルで焼き込み、音声は-14 LUFSのマスターへ引き渡されます。
数字について、 その出どころ
このページの数字はすべて、公開されている出典かKamply自身の実測にたどれます。推定値は一切ありません。
- キャプションの配置
- MarginV 90/288
- libass独自のスケールで、1080x1920フレームの下から約31%の高さに字幕が表示され、TikTok、Reels、Shortsが画面下部25〜30%に重ねるUIより上に来ます。
- 大文字小文字のルール
- 文単位の表記を強制
- 全て大文字の字幕は小文字化され、先頭の文字だけ大文字に戻されます。大文字と小文字が混在するテキストはそのまま維持されるため、頭字語はそのまま残ります。
- スタイルの参照元
- ご自身のブランドトークンファイル
- 書体は本文フォントのトークンから、文字色はインクが明るい場合はインクランプから、暗い場合は白から選ばれます。これは字幕が映像の上に乗るためです。縁取りはブランドアクセントがテキストと十分なコントラストを持つ場合のみそれを使い、そうでない場合はほぼ黒になります。
- 自動生成される字幕の長さ
- 2語、または句読点まで
- ビルダーは2語ごと、または句点・読点・疑問符・感嘆符・セミコロン・コロンのいずれかで終わる最初の単語のところで字幕を区切り、そのあとカット後のタイムラインに合わせて配置します。
- 手元に残るファイル
- 編集フォルダ内のSRT
- 文単位の表記に整えたコピーが、編集リストの隣に新しいファイルとして書き出されます。ご自身が用意した字幕ファイルが上書きされることはありません。
- クローズドキャプションのトラック
- なし
- キャプションは映像に焼き込まれたピクセルです。ソフトなCCストリームがMP4にマルチプレクスされることも、WebVTTが書き出されることもありません。
質問、 実際に寄せられるもの
ここにない質問はライブデモでお尋ねください。下のフォームは実際の担当者に届きます。
動画をアップロードすれば、字幕をつけて返してもらえますか。
いいえ。字幕はレンダリングから出力されるもので、レンダリングはすでに用意されたクリップとそのイン点・アウト点を記した編集リストから始まります。完成したMP4をアプリにドロップしても、字幕ではなくターミナルにファイルパスが表示されるだけで、それを受け取るウェブ版や公開APIもありません。
字幕はオフに切り替えられるトラックですか。
いいえ。映像に焼き込まれているため、どこで再生してもオフにはできません。字幕ファイル自体は編集フォルダに新しいファイルとして書き出されるので、テキストはご自身で再利用できますが、Kamplyはクローズドキャプションやウェブ配信用のWebVTTストリームを動画にマルチプレクスすることはありません。
大文字のキャプションや、カラオケ風の単語ハイライトはできますか。
どちらもできません。レンダラーはシンプルなキャプションスタイルをひとつだけ出力し、大文字で書かれた字幕は焼き込む前に小文字化して文単位の表記に整えられます。アニメーション付きのキャプションパック、絵文字の自動挿入、単語ごとのハイライトは編集動画の経路には含まれていません。この経路が行うのはカット、クロスフェード、ゆっくりしたズーム、カラーグレード、字幕までで、そこで止まります。
字幕のタイミングはKamplyが書いてくれますか。
できます、ただし条件がひとつあります。カットリストを順にたどり、各範囲に含まれる単語をそのテイクの文字起こしから取り出し、2語ごと、または句読点のところで字幕を区切り、すべての字幕を完成後のタイムラインに合わせて配置して字幕ファイルを書き出します。条件は、そのテイクの単語レベルの文字起こしがすでにプロジェクトのtranscriptsフォルダにあることです。アプリ全体で文字起こしに使われているのはWhisperで、それらのファイルもそこからキャッシュされていますが、キャプションビルダーはそのファイルを読み込むだけで、文字起こし自体を代わりに実行するわけではありません。
アニメーションのリールも同じ方法で字幕がつきますか。
いいえ。リールの多くはミュートで再生されます。Kamplyのビルド運用ガイドがそう説明しているため、生成されたリールでは字幕ファイルを焼き込むのではなく、承認済みのボイスオーバー台本をもとにしたオンスクリーンのタイポグラフィとしてキャプションを表示します。ライブラリには、単語が1つずつフェードしながら大きくなって配置されるパターンもあり、行き過ぎないカーブを使っているため、文字がバウンドせず落ち着いて表示されます。
別の言語の字幕はどうなりますか。
2つ目の言語は、同じカットに自由訳を乗せるのではなく、その言語でゼロから書き起こします。キャプションの行は翻訳ではなく対象言語でまず書かれるため、ブリーフで英語以外の言語を指定するビルドは、ゲートを通過する前にローカライズ担当のライターを立てる必要があります。アプリ自体は日本語、英語、ドイツ語、フランス語、イタリア語、韓国語で使えます。
次は、 これではなかった方へ
ブリーフをひとつご用意ください。最初のキャンペーンが形になる様子をご覧いただけます。
ライブデモでは、自社のブランドをもとに最初の方向性を一緒に作ります。終わるころには、Kamplyが次に何を作るかがはっきりわかります。