SNS に投稿された動画は音声を切ったまま再生されることが少なくないため、字幕が入っていないとそれだけで内容が伝わらないまま流されてしまいます。かといって字幕を付ける作業は、音声を聞きながら文字を打ち込み、表示の開始と終了を秒単位で合わせていくという、それなりに手間のかかる作業になります。
動画に字幕を入れる作業は、音声をテキストに変換して字幕ファイルを作る工程と、できた字幕ファイルを動画に載せる工程の 2 つに分かれます。前者が「文字起こし」で、後者が「字幕挿入」にあたります。
どちらの工程も、専用ソフトをインストールするか動画をクラウドへアップロードするかのどちらかが前提だと思われがちですが、私はそのどちらも避けたかったので、ブラウザーの中だけで両方を済ませられるツールを自分で作りました。
この記事では、その 2 つのツールを使って文字起こしから字幕挿入までをブラウザーだけで済ませる手順を、実際に測った処理時間とあわせて説明します。
- 必要なもの: 字幕を入れたい動画ファイルと、WebGPU に対応したブラウザー
- 必要ないもの: ソフトのインストール、アカウント登録、ファイルのアップロード、料金
字幕を入れる2つの工程と、使う道具
字幕を入れる方法は、クラウド型の文字起こしサービスと動画編集ソフトを組み合わせる方法、ffmpeg のようなコマンドラインツールを使う方法、そしてブラウザーの中だけで済ませる方法の 3 通りに分かれます。
クラウド型+編集ソフト | ffmpeg | ブラウザー内(本記事) | |
|---|---|---|---|
インストール | 編集ソフトが必要 | 必要 | 不要 |
ファイルの送信 | クラウドへ送る | 送らない | 送らない |
料金 | 従量課金または月額 | 無料 | 無料 |
時間・回数の制限 | プランによる | なし | なし |
覚えること | ソフトの操作 | コマンドと引数 | ほぼ無し |
私は以前 Python で Whisper を動かす環境を自分で構築していて、精度そのものに不満は無かったのですが、GPU のドライバーや依存ライブラリーを揃える作業が環境を変えるたびに発生するため、思い立ったときにすぐ使えるものではありませんでした。クラウド型の有料サービスや OpenAI の公式 API も検討はしたものの、使うたびに費用がかかる点と、音声データを外部のサーバーへ送ることになる点が引っかかって選びませんでした。この 2 つを避けたいという理由から、私は今もブラウザーの中で完結させるという方法を採っています。
使うツールは次の 2 つで、どちらも私が開発して運営しています。
- 文字起こし: Transcriber(transcriber.tools.ryusei.io)
- 字幕挿入: Media Tools の「字幕を動画に焼き込む」(media.tools.ryusei.io)
いずれも処理はすべてブラウザーの中で行われるため、動画も音声も私のサーバーを含めてどこにも送信されません。
用意するもの
- 字幕を入れたい動画ファイル(MP4 / MOV / WebM / MKV など)
- Chrome または Edge の最新版
- メモリーは 8 GB 以上あると安心
ブラウザーは WebGPU に対応している必要があり、Chrome と Edge であれば問題なく動きます。Mac を使っている場合も、標準の Safari ではなく Chrome か Edge を開いてください。
手順1:動画を文字起こしして SRT を作る
まず動画の音声をテキストに変換して字幕ファイル(SRT)を作りますが、音声だけを抜き出す前処理は必要なく、動画ファイルをそのまま読み込ませれば中の音声だけが使われます。
- Transcriber をブラウザーで開きます。
- 「モデル」を選びます(後述)。
- 「言語」を「日本語」にします。自動判別もできますが、日本語だと分かっているなら指定したほうが安定します。
- 「話者分離」をオフにします。オンのままだと、書き出した SRT の各行の先頭に「話者1: 」のような話者名が入り、そのまま字幕として焼き込まれてしまいます。
- 動画ファイルをドラッグ&ドロップします。開始ボタンは無く、読み込ませた時点で文字起こしが始まるので、設定は先に済ませておきます。モデルを初めて使うときだけ、ダウンロードの待ち時間が入ります。
- 結果を画面上で直します(後述)。
- 書き出し欄で「SRT」を選んで保存します。
モデルはどれを選ぶか
Whisper には大きさの違うモデルが用意されていて Transcriber では 6 種類から選べますが、大きいモデルほど精度が高くなるかわりに時間がかかるというのが一般的な理解だと思います。ところが実際に測ってみると、そう単純ではありませんでした。
4 分 08 秒・51.9 MB の動画を、GeForce RTX 2060 SUPER(8 GB)を積んだ Windows 機の Chrome で文字起こししたときの実測値です。いずれも WebGPU で動いています。
モデル | サイズ | 処理時間 | 実時間比 |
|---|---|---|---|
Small | 約 600 MB | 0 分 35 秒 | 約 7.1 倍速 |
Medium | 約 900 MB | 1 分 22 秒 | 約 3.0 倍速 |
Large v3 Turbo | 約 1.2 GB | 0 分 37 秒 | 約 6.7 倍速 |
Large v3 | 約 1.6 GB | 0 分 52 秒 | 約 4.8 倍速 |
いちばん遅かったのは最大の Large v3 ではなく中間の Medium で、Large v3 Turbo は Medium の 2 倍以上速く、いちばん小さい Small とほぼ変わらない速度で終わりました。これは Large v3 Turbo が、音声を解析するエンコーダーは Large v3 と同じまま、テキストを組み立てるデコーダーだけを大幅に小さくしたモデルだからです。
少なくとも私が測った範囲では、Medium をあえて選ぶ理由は見当たりませんでした。私は Large v3 Turbo を使っていますが、WebGPU が使えない環境であれば Small が現実的な選択肢になります。
なお人名や固有名詞は最高精度の Large v3 を使っても誤変換が残り、これはモデルを変えても大きくは改善しないので、後述のとおり書き出した SRT を手で直すほうが早いです。
誤変換とハルシネーションを直す
直すべきものは 2 種類あって、ひとつは読めば分かる固有名詞の誤変換、もうひとつが「ハルシネーション」と呼ばれる、音声に含まれていない文が勝手に出力される現象です。実際に試したときは、歌や BGM だけが流れている区間で「チャンネル登録をお願いします。」「ご視聴ありがとうございました。」という 2 つの文が、モデルを変えても同じように現れました。これは Whisper の学習データに動画の音声が大量に含まれていることが原因で、無音や音楽だけの区間で特に出やすくなります。
どちらも SRT を書き出す前に、結果の画面でそのまま直せます。同じ誤変換が何度も出てくる場合は「検索と置換」が早く、一致した箇所が強調表示されるので「この箇所を置換」で 1 件ずつ確認しながら直すことも、「すべて置換」でまとめて直すこともできます。人名や製品名のように繰り返し出てくる語は、これで一気に片が付きます。
行を個別に直す場合は、行にマウスを乗せると出る鉛筆のアイコンから編集します。文をその場で書き換えられるほか、長すぎる行を 2 つに分割することもできるので、字幕として 1 行が長すぎるときにも使えます。ハルシネーションの行は、ここで中身を消せば書き出した SRT からも消えます。編集はいつでも元に戻せるので、間違えて消しても戻せます。
なお話者分離をオンにして使う場合は、話者ラベルをクリックして名前を付けたり、誤って分かれてしまった話者を統合したり、行ごとに話者を割り当て直したりもできます。字幕を作る今回の用途では話者分離はオフのままで構いませんが、議事録やインタビューの書き起こしではこちらを使ってください。
手順2:SRT を動画に挿入する
字幕ファイルができたら動画に載せる工程に移り、ここからは Media Tools の「字幕を動画に焼き込む」を使います。
- ツールのページを開きます。
- 動画ファイルを読み込ませます。
- 「字幕ファイル」で、手順1 で保存した SRT を選びます。
- 「埋め込み方」で「映像に焼き込む」か「字幕トラックとして埋め込む」を選びます(後述)。
- 位置・文字の大きさ・色・見やすさを必要に応じて変えます。
- 実行すると、字幕入りの動画が書き出されます。
SRT のほかに WebVTT も読み込め、文字コードは UTF-8 のほか日本語でよく使われる Shift_JIS も自動で判別します。
焼き込みと字幕トラック、どちらを選ぶか
字幕の入れ方には、映像そのものに文字を描き込む「焼き込み」(ハードサブ)と、字幕を別のデータとして同梱する「字幕トラック」(ソフトサブ)の 2 通りがあります。
焼き込み | 字幕トラック | |
|---|---|---|
表示のオン・オフ | できない | できる |
SNS へ投稿したとき | 表示される | 表示されない |
iPhone の標準プレイヤー | 表示される | 表示されない |
出力形式 | 元の形式のまま | MKV のみ |
再エンコード | 必要 | 不要 |
先ほどと同じ 4 分 08 秒・51.9 MB の動画で、両方の方式を実行したときの実測値を並べます。
方式 | 所要時間 | 出力サイズ |
|---|---|---|
焼き込み | 125.4 秒 | 115.2 MB |
字幕トラック | 0.35 秒 | 51.9 MB |
字幕トラックは映像と音声をそのままコピーして字幕を同梱するだけなので一瞬で終わりますが、MKV でしか出力できず、SNS に投稿しても iPhone で再生しても字幕は表示されません。
SNS に上げる動画であれば選ぶのは焼き込み一択で、字幕トラックが向いているのは、自分の PC や VLC のようなプレイヤーで見る動画に、あとから消せる字幕を付けたい場合です。
位置・文字の大きさ・色・見やすさの決め方
既定のままでもほとんどの動画で読めますが、迷ったときの目安を挙げておきます。
設定 | 既定 | 変えるとき |
|---|---|---|
位置 | 下 | 画面下部に元から文字が入っている動画では「上」にする |
文字の大きさ | 動画の高さの 4.5% | スマートフォンで見る前提なら 5〜6% まで上げる |
文字の色 | 白(#ffffff) | 明るい映像が続くなら黄色にすると読みやすい |
見やすさ | 黒い縁取り | 背景の明暗が激しい動画では「半透明の帯」にする |
私は既定の「黒い縁取り」をそのまま使っていますが、これは文字に黒い縁が付くことで、背景が明るくても暗くても読めなくなることがないからです。
うまくいかないときの対処
ここまでの手順で引っかかりやすい点を 4 つ挙げておきます。いずれも私自身か、処理統計に残ったエラーから把握しているものです。
文字化けする
UTF-8 と Shift_JIS は自動で判別しますが、EUC-JP のようなそれ以外の文字コードには対応していないため、テキストエディターで UTF-8 として保存し直してから読み込ませてください。
字幕のタイミングがずれる
このツールは SRT に書かれた時刻をそのまま使うので、文字起こしをしたあとで動画の先頭をカットすると、カットした分だけ字幕が前倒しになります。トリムは字幕を入れる前に済ませておくか、SRT 側の時刻を書き換えてください。
ファイルサイズが増える
焼き込みは映像に文字を描いてから再エンコードするため元のファイルより大きくなることがあり、実測では 51.9 MB の動画が 115.2 MB になりました。これは出力時のビットレートが元の動画からではなく「画質」の設定から決まる仕組みのためで、元の動画が効率よく圧縮されていた場合ほど差が出ます。気になる場合は「画質」を一段下げるか、書き出したあとに動画圧縮のツールを通してください。
処理が途中で止まる
大きい動画を扱うとメモリーが足りなくなることがあるので、ほかのタブを閉じてから再実行するか、動画を分割してから処理してください。
よくある質問
すべて無料で使えますか?
使えます。どちらのツールも回数制限や時間制限を設けておらず、有料プランもありません。
アカウント登録は必要ですか?
登録なしで使えます。どちらもページを開いてファイルを読み込ませるだけなので、メールアドレスの入力すら発生しません。
動画や音声はどこかにアップロードされますか?
アップロードされません。文字起こしも字幕の描画も再エンコードもすべてブラウザーの中で完結しますので、通信が発生するのは文字起こしに使う AI モデルを初回にダウンロードするときだけになります。
動画の長さに上限はありますか?
仕組みの上では長さを問わず扱えます。ただし長い動画ほど処理の時間とメモリーを使うことになるので、実際に扱える長さは PC の性能に左右されます。
スマートフォンでもできますか?
文字起こしは小さいモデルであれば動きますが、字幕の焼き込みは処理が重いので PC で行うことをおすすめします。
商用の動画に使っても問題ありませんか?
商用の動画にもそのまま使えます。書き出したファイルの利用について、こちらから制限を設けることはありません。
まとめ
動画に字幕を入れる作業は文字起こしと字幕挿入の 2 つの工程に分かれますが、どちらもブラウザーの中だけで済ませられるため、ソフトのインストールも動画のアップロードも料金の支払いも必要ありません。
- Transcriber に動画を読み込ませ、Large v3 Turbo で文字起こしする
- 書き出した SRT の誤変換とハルシネーションを手で直す
- Media Tools で SRT を読み込ませ、焼き込みで字幕入りの動画を書き出す
- SNS に上げるなら焼き込み、あとから消せるようにするなら字幕トラックを選ぶ

音声・動画ファイルをブラウザだけで文字起こし。会員登録もアップロードも不要で、音声データは端末の外に出ません。時間・回数の制限なしで完全無料。Whisper AI による話者分離と SRT 字幕の書き出しに対応し、MP3・WAV・M4A・MP4 など主要形式を読み込めます。

SRT / WebVTT の字幕ファイルを動画に焼き込んで、字幕機能のない再生環境でも表示できる動画にする無料ツール。位置・大きさ・色・縁取りを指定可能。ブラウザ内蔵のエンコーダで処理し、動画は送信されません。
X(旧Twitter)スペースの録音アーカイブを、無料でテキストに文字起こしする手順を解説します。録音のダウンロードから話者ごとの書き分け、字幕ファイルの書き出しまで、会員登録もアプリのインストールもなしにブラウザだけで完結します。


