FFmpeg Cookbook
EN

字幕焼き込みツール

SRT または VTT 字幕ファイルを動画に焼き込みます(ハードサブ)。フォントサイズ・色・縁取り・位置を調整できます。

動画はサーバーに送られません
動画ファイル
MP4 / MOV / WebM
字幕ファイル(SRT/VTT)
.srt / .vtt
— または、SRTテキストを直接貼り付け —
字幕に日本語があると、日本語フォント(約2MB)を追加で読み込みます。表示できる漢字は JIS 第1・第2水準までで、それ以外の漢字や中国語の簡体字、韓国語は四角い記号になります。
処理中… 0%

対応する FFmpeg コマンド

現在の設定に対応するコマンドラインです。設定を変えるとリアルタイムで更新されます。

ffmpeg -y -i video.mp4 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2,subtitles=subs.srt:fontsdir=.:force_style='Fontname=Noto Sans,Fontsize=28,PrimaryColour=&H00FFFFFF&,OutlineColour=&H00000000&,Outline=2,Bold=-1,Alignment=2'" -c:v libx264 -preset fast -crf 20 -c:a aac -b:a 128k -pix_fmt yuv420p -movflags +faststart output.mp4
よく使われる用途
SRT字幕の焼き込み無音視聴向けSNS投稿説明テロップの追加

使い方

  1. 動画を選択MP4 / MOV / WebM などをドロップします(500MB まで)。
  2. 字幕を指定.srt か .vtt のファイルを選ぶか、SRT 形式のテキストを貼り付けます。
  3. スタイルを設定フォントサイズ・色・縁取り・位置を調整します。文字の大きさは動画の高さに合わせて変わるため、解像度ごとに変える必要はありません。
  4. 焼き込みを実行完了するとプレビューとダウンロードボタンが表示されます。

おすすめ設定

YouTube などの横長動画
フォントサイズ 28(初期値)・白・黒の縁取り 2・下
大きさは画面の高さで決まるので、720p でも 1080p でも同じ設定で使えます。
TikTok / Shorts(縦動画)
フォントサイズ 20〜24・黄色・黒の縁取り 3・中央
縦長の動画では、同じ数値でも横幅に対して文字が大きくなるため、横長より小さめにします。
インタビュー動画
フォントサイズ 24・白・黒の縁取り 2・下
話している人の顔を隠さないよう、少し小さめにします。

うまくいかないとき

字幕が出ずにエラーになる

原因:字幕ファイルが Shift_JIS など、UTF-8 以外の文字コードで保存されている。

対処:メモ帳などで文字コードを「UTF-8」にして保存し直してください。

字幕が表示されない

原因:VTT の時刻の区切りに「,」を使っている(00:00:01,000 など)。

対処:VTT は 00:00:01.000 のように「.」で書きます。SRT は「,」が正式です。

一部の文字が四角(豆腐)になる

原因:JIS 第1・第2水準にない漢字や、中国語の簡体字・韓国語を使っている。

対処:日本語フォントは JIS 第1・第2水準の漢字までです。その文字を別の字に置き換えるか、デスクトップ版 FFmpeg で対応するフォントを指定してください。

字幕の時刻がずれる

原因:字幕ファイルの時刻が動画と合っていない(別に編集した版の字幕など)。ツールは字幕の時刻をそのまま使います。

対処:Subtitle Edit などの字幕編集ソフトで、時刻を合わせ直してください。

よくある質問

ハードサブとソフトサブの違いは?

ハードサブは映像に焼き込む字幕で、後から消せません。ソフトサブは別データとして持つ字幕で、表示のオン・オフができます。このツールはハードサブだけに対応しています。

YouTube に字幕付きでアップしたい

YouTube には SRT や VTT の字幕ファイルをそのままアップロードできます。この方法なら後から直せて、視聴者が表示を切り替えられます。焼き込みは、字幕ファイルを付けられない SNS に投稿するときに使います。

日本語の字幕は使えますか?

使えます。字幕に日本語があると日本語フォント(Noto Sans JP、約 2MB)を読み込み、JIS 第1・第2水準の漢字まで表示します。中国語の簡体字の多くと韓国語は表示できません。

SRT と VTT の違いは?

SRT は広く使われる字幕形式、VTT はブラウザの動画用の形式です。どちらも読み込めます。VTT の STYLE やクラスで付けた色は、焼き込みには反映されません。

フォントを変更できますか?

できません。英字は Noto Sans Bold、日本語は Noto Sans JP Bold に固定しているため、文字は常に太字です。ほかのフォントを使いたい場合は、デスクトップ版 FFmpeg と libass で指定してください。

タイムコードの自動補正は?

ありません。字幕ファイルの時刻をそのまま使います。ずれている場合は、先に Subtitle Edit などのソフトで直してください。

効果音や話者名を区別したい

SRT なら <font color="#ffff00">…</font> で囲んだ部分の色を変えられます。<i>…</i> で斜体にもできます。VTT の <c.speaker1> のようなクラス指定は反映されません。

くわしい説明(設定の意味・制限・FFmpeg のコマンド)

設定の意味

フォントサイズ
10〜80(初期値 28)。ピクセルではなく、画面の高さに対する大きさです。720p でも 1080p でも、同じ数値なら画面に対して同じ大きさになります。
文字色
字幕の文字の色。初期値は白です。
縁取り色 / 幅
文字の外側の線の色と太さ(幅は 0〜6、初期値は黒・2)。背景が明るくても読めるようにします。0 にすると縁取りなしになります。
位置
下(初期値)・中央・上から選びます。

使えるブラウザと制限

  • 最大ファイルサイズ:動画 500MB、字幕ファイル 5MB
  • フォント:英字は Noto Sans Bold、日本語は Noto Sans JP Bold(JIS 第1・第2水準の漢字まで)
  • ハードサブ(焼き込み)のみ対応。ソフトサブ用途はデスクトップ版 FFmpeg を推奨
  • 出力は H.264(CRF 20)の MP4。音声がある場合は AAC 128kbps で再エンコードします

同じ処理を FFmpeg のコマンドで

SRT を焼き込み(基本)
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" out.mp4
スタイル指定で焼き込み
ffmpeg -i input.mp4 -vf "subtitles=subs.srt:force_style='FontName=Noto Sans,FontSize=28,PrimaryColour=&Hffffff&,OutlineColour=&H000000&,Outline=2,Bold=1,Alignment=2'" out.mp4
FontSize は画面の高さに対する大きさです(28 はツールの初期値)。Alignment=2 は下中央です。色は &HBBGGRR& の形で、青・緑・赤の順に 16 進数で書きます。
VTT を焼き込み
ffmpeg -i input.mp4 -vf "subtitles=subs.vtt" out.mp4