公開日 ・ 約10分で読めます
YouTube文字起こしの自動化で動画を社内ナレッジにする方法

YouTube文字起こしの自動化とは、見つけた動画を専用プレイリストに入れるだけで、音声の取得から文字起こし、章立ての整形、社内ナレッジへの投入までを機械が無人で行う仕組みのことです。1本ずつツールにURLを貼る手作業とは違い、「入れたら文字になっている」状態を作ります。
僕はこの仕組みを自分のMacで実際に回しています。プレイリストに追加した動画は最大1時間以内に処理が始まり、人は何も操作しません。この記事では、その実運用の中身を工程ごとに公開します。
YouTube文字起こしの自動化とは?手作業のテキスト化と何が違うのか
手作業のテキスト化は「作業」、自動化は「仕組み」
検索で出てくるYouTube文字起こしのやり方は、ほとんどが「1本の動画をその場でテキストにする方法」です。標準機能の「文字起こしを表示」をコピーする、ブラウザ拡張機能を入れる、文字起こしサイトにURLを貼る。どれも動画1本ぶんの手順としては正解です。
問題は、これが毎回自分の手と時間を使う「作業」だという点です。最初の数本は続きますが、忙しい週に1回飛ばすと、だいたいそのまま止まります。
自動化はここが逆で、人がやることは「プレイリストに動画を追加する」の1点だけ。動画をプレイリストに入れたら、あとは機械が文字にしてくれるところまで持っていきます。
変わるのは速さではなく「続くかどうか」
自動化と聞くと処理の速さを想像しますが、実際に効くのは継続性のほうです。手作業のテキスト化は本数が増えるほど負担が積み上がりますが、仕組みにすれば10本でも50本でも人の負担は変わりません。
経営の言葉に翻訳すると、これは「動画を見る時間」というフロー消費を、あとから検索できる文字資産に変える投資です。学びが個人の記憶にしか残らない会社と、テキストで蓄積される会社の差は、時間が経つほど開いていきます。
学習動画が「見て終わり」で消える理由。文字起こしが続かない3つの壁
いい動画に出会っても社内に何も残らないのは、意志の弱さが原因ではありません。文字起こしが続かない原因は根性ではなく、仕組みの欠如です。壁は3つあります。
壁1: 見る時間はあっても、書き起こす時間はない
60分の動画を手でテキスト化すると、視聴時間の何倍もかかります。要点メモに切り替えても、メモを取ること自体が視聴の中断になり、結局「あとでやろう」のまま消えます。
壁2: 1本ずつの手作業は、必ずどこかで途切れる
ツールを使えば1本の文字起こし自体は難しくありません。ただし「URLをコピーして、貼って、結果を保存して、名前を付けて、フォルダに置く」という細かい手順が毎回発生します。この毎回の数工程が、繁忙期に必ず落ちます。
壁3: 保存しても、探せなければ存在しないのと同じ
がんばってテキスト化しても、ファイルが散らばっていたら、後から「あの動画のあの話」にたどり着けません。検索できないストックは、無いのと同じです。保存の先に検索がないと、ストックしたつもりのフロー消費になります。

僕自身、ブックマークと「あとで見る」に学習動画が溜まっていくだけの時期が長くありました。仕組みにしてからは、動画を見る前にテキストで中身を確認してから見るかどうか決める、という逆転も起きています。
僕が回しているYouTube文字起こし自動化の全体像

6つの工程で「入れたら文字になる」を作る
僕が自分のMacで実運用している構成は、次の6工程です。1時間毎に定時起動して、人は一切触りません。
差分検出: 受け皿のプレイリストを見て、前回から増えた動画だけを処理対象にする(差分検出=増えた分だけを見つけて処理すること)
音声DL: yt-dlp(動画サイトから音声・映像を取得するコマンドラインツール)で、動画ではなく音声だけを取得する
ローカル文字起こし: mlx-whisper(Apple SiliconのMac上でローカル動作する文字起こしAI)のlarge-v3モデルで日本語テキスト化する
章立て整形: 細切れの生テキストを、誤字補正した章立てのマークダウン文書に整える
台帳記帳: SQLite(ファイル1つで動く軽量データベース)の台帳に、動画ごとの処理状態を記録する
ナレッジ投入: 整形済みの文書をRAG(溜めた文書をAIが検索して答えに使う仕組み)へ自動投入する
処理時間は、僕の環境の実測で31分の動画1本あたり5〜10分です(初回だけはモデル取得込みで15分ほど)。プレイリストに入れた動画は、次の定時起動で拾われて、気づいたときには検索できる文書になっています。
ローカル完結にこだわる理由
文字起こし本体を外部のWebサービスではなくmlx-whisperにしているのは、音声データを社外のサーバーに渡さず、Macの中だけで完結させるためです。公開されている学習動画なら外部送信のリスクは小さいものの、同じパイプラインを社内の音源に流用する将来を考えると、最初からローカル前提で組んでおくほうが線引きがきれいです。
もう1つ、この仕組みで守っている順序があります。
章立てのマークダウン保存が完了してから、ナレッジ基盤への投入に進む。逆順は禁止。投入に失敗してもファイルが正本として手元に残り、次回の実行で自動的に再投入される。
正本が常にローカルのファイルにあるので、ナレッジ側に障害があっても文字起こしの成果は消えません。
YouTube文字起こしを自動化する5ステップ
同じ仕組みは、次の5ステップで組めます。まずは人が手を動かすのはステップ1だけという全体像を掴んでください。細かい道具は後述の付録にまとめています。
YouTubeに「文字起こし用」の非公開プレイリストを1つ作ります。以後、人間の仕事は「いい動画をここに入れる」だけになります。
動画ファイル全体ではなく音声のみをダウンロードします。データ量が小さく、文字起こしには音声だけで十分です。
large-v3モデルを日本語指定で回すと精度の高い生テキストが出ます。Apple SiliconのMacなら追加費用はかかりません。
生テキストは細切れなので、AIに誤字補正と章立て(見出し5〜15個)をさせ、タイトル・URL・日付付きの文書に仕上げます。
SQLite台帳に動画IDと状態を記録して未処理分だけ処理し、文書を保存してからRAGに投入します。

yt-dlpとffmpeg: Homebrewで導入(brew install yt-dlp ffmpeg)。音声の取得と変換を担当
mlx-whisper: uv tool install mlx-whisper で導入。文字起こし本体。モデルはlarge-v3・日本語指定
SQLite: macOS標準で利用可。台帳は動画ID・状態・保存先パスを持つ1テーブルで足ります
定時起動: macOS標準のlaunchd(指定間隔でプログラムを起動する常駐の仕組み)で1時間毎に実行
止まらず回し続けるための運用設計
自動化は「作る」ことより「止まらないようにする」ことのほうが難しいです。実運用で効いている設計は3つあります。
SQLite台帳が「どこまでやったか」を覚える
台帳には動画ごとに「未処理・処理中・完了・エラー・投入待ち」の状態を持たせています。処理中のまま異常終了しても、次回起動時に未処理へ戻して再開します。動画が削除・非公開化されていたらエラーとして記録し、再試行しません。
この台帳のおかげで、何度実行しても同じ動画を二重処理しないし、1本の失敗で仕組み全体が止まることもありません。

1回の実行で処理するのは最大3本まで
未処理が10本溜まっていても、1回の実行では最大3本で打ち切ります。全部やらない。積み残しは次の定時起動に回すのがルールです。
理由は単純で、60分級の動画が3本続くと処理が長引き、次の定時起動と衝突するからです。上限を切っておけば1回の実行が重くなりすぎず、実行中はロック(多重起動を防ぐ実行中フラグ)で次の起動を弾けます。溜まった分も数時間後には自然に消化されます。
急ぎの1本は、別ルートで即処理する
「明日までにこの動画をテキストにしたい」という単発の需要は、プレイリスト経由だと最大1時間待ちになります。そこで、単発のURLを渡したら即処理する別ルートを用意して使い分けています。定常はプレイリスト、緊急は単発ルート。この2本立てにすると、急ぎ対応のために定常の仕組みを崩さずに済みます。
なお、1時間毎の定時実行そのもの(launchdの組み方)は、別の記事に分けて書いています。
関連記事Claude Codeを毎朝定時に走らせるlaunchd自動化MacでClaude Codeを毎朝決まった時刻に無人で走らせる方法を、このブログ自体を運行する3系統のlaunchdジョブの実物設定と実ログで解説。二重起動の防止、冪等スキップ、止まったときに気づく仕組みまで公開します。著作権と利用範囲の注意
YouTubeの動画は他者の著作物です。文字起こしの自動化は便利な分だけ、利用範囲の線引きを最初に決めておく必要があります。僕は次の線で運用しています。
文字起こしの利用は、私的利用・社内の学習用途に限る
文字起こしテキストの無断公開・転載・再配布はしない(ブログやSNSへの掲載も不可)
有料コンテンツ・メンバー限定動画は対象にしない
判断に迷う使い方(社外への提供など)は、権利者の許諾を取るか、やらない
自動化すると処理量が増えるぶん、線引きが曖昧なままだと逸脱まで自動化されてしまいます。仕組みを作る前に利用範囲を決めるのが正しい順序です。
YouTube文字起こしの自動化でよくある質問
できます。この記事の構成ならyt-dlpもmlx-whisperも無料で、Apple SiliconのMacがあれば追加費用はかかりません。外部の文字起こしサービスを使う場合は、月額課金や処理分数の上限があるものが多いです。
処理の本体はMacなど常時稼働できるマシンに置くのが現実的です。ただし人がやるのは「見つけた動画をプレイリストに追加する」ことだけなので、運用の入口はスマホで完結します。
ChatGPT単体では動画の音声を取得できないため、URLを渡しても正確な文字起こしは出てきません。文字起こし自体はWhisper系のツールで行い、その後の誤字補正や章立て整形をAIに任せる分担が確実です。
拡張機能はYouTubeの自動字幕を1本ずつコピーする道具で、開いている動画をその場でテキスト化する用途には手軽です。一方で、複数動画の継続処理・整形・保存先の管理まではできないので、溜めて資産化する目的なら自動化のほうが向きます。
単発で内容を確認するだけなら十分です。ただし自動字幕ベースのため誤変換が多く、句読点や段落もありません。検索して使える文書として蓄積したい場合は、音声からの文字起こしと整形を挟む価値があります。
まとめ。動画の学びを流さず、会社の資産にする
YouTube文字起こしの自動化は、派手な技術の話ではありません。差分検出・音声DL・ローカル文字起こし・章立て整形・台帳記帳・ナレッジ投入という地味な6工程を、止まらない形でつなぐ設計の話です。
ポイントを3つに絞ります。
手作業のテキスト化は必ず途切れる。人の仕事を「プレイリストに入れる」だけに減らす
台帳で処理済みを管理し、1回の処理量に上限を設ける。止まらないことを最優先にする
文字起こしで終わらせず、検索できるナレッジまでつなぐ。溜めた文書を検索して使う側の話は社内ナレッジをAIで検索できるようにする方法で書いています
外部の学習動画ではなく、社内の会議音声を文字にして残したい方はAI議事録の自動化へ。ナレッジ検索ツールの選定や費用構造は社内ナレッジ検索ツールの選び方にまとめています。
文字起こしのような「AIに任せてよい定型作業」を自社の業務から洗い出すための、AIに任せてよい業務の棚卸しワークシートを無料公開しています。どの業務から自動化するかを決める叩き台にしてください。
この記事が役に立ったらシェア
Related


