記事一覧へ戻る
操作ハウツー

動画ファイルから音声だけを抜き出す方法 (MP3 / WAV)

MP4 や MOV から音声トラックだけを取り出して MP3 / WAV に書き出す手順。ffmpeg.wasm を使い、動画ファイルを外部に送らずブラウザ内で完結させます。

動画ファイルから音だけ欲しい場面

社内勉強会を Zoom や Google Meet で録画すると、出力は MP4 や MKV といったコンテナに音声と映像がまとめて入った 1 ファイルになります。議事録起こしを依頼するときに 800 MB の動画ファイルをそのまま送ると、Slack や Gmail の添付上限 (それぞれ 1 GB / 25 MB) で詰まるうえ、文字起こし担当者は結局音声しか聞かないので映像トラックは完全に無駄です。同じ映像から MP3 を取り出せば、1 時間の会議でも数十 MB 程度に収まります。

ユースケースは議事録向けだけではありません。スマートフォンで撮ったセミナー動画から BGM だけ抜いてポッドキャストに再利用する、YouTube のオリジナル動画 (自分が制作したもの) から音声トラックを取り出してインタビュー音源を切り出す、リハーサル映像から AAC ストリームをそのまま取って iPhone のミュージックアプリで聞き直す、といった用途も同じ操作で済みます。共通しているのは「映像は捨てて、音声トラックだけが欲しい」という単純な目的で、これがブラウザ内で完結する video-extract-audio の役割です。

ブラウザだけで音声を取り出す手順

動画から音声抽出ツール を開き、変換したい動画をドラッグ & ドロップします。MP4 / MOV / M4V / WebM / MKV など主要なコンテナを受け付け、複数ファイルをまとめて投入できます。読み込み後に「出力フォーマット」のセレクタが表示されるので、用途に合わせて mp3 (互換性最優先)、wav (再エンコードなしの可逆)、m4a (AAC で iOS / macOS と相性が良い)、ogg (Vorbis、オープン形式) のいずれかを選びます。

「音声を抽出」を押すと、ブラウザ内に読み込まれた ffmpeg.wasm が映像トラックを破棄して音声だけを再エンコードします。完了後はファイルごとの「ダウンロード」ボタンと、複数件をまとめる「全件 ZIP」ボタンが現れます。動画の中に音声トラックが存在しない (サイレント動画) 場合は「この動画には音声トラックがありません」というエラーで止まるので、変換前に元素材の状態を疑うこともできます。DevTools の Network タブを開いたまま操作しても、初回の WASM 取得以外に動画ファイルが外へ出る通信は一切ありません。

ffmpeg.wasm が裏でやっていること

抽出処理は内部的には ffmpeg -i input.mp4 -vn -acodec <encoder> output.<ext> という引数列に相当します。-vn (video none) で映像ストリームを捨て、-acodec で出力拡張子に対応するエンコーダを指定する、という古典的な FFmpeg のレシピそのままです。違いは、x86 のネイティブバイナリの代わりに WebAssembly 版が Web Worker 上で走っている点だけです。

ここで注意したいのが「コンテナ」と「コーデック」の関係です。MP4 / MOV / WebM はあくまでファイル形式 (容れ物) で、その中身の音声は AAC・Opus・Vorbis・PCM など別物が入っています。素朴な発想だと「MP4 から音声を取り出すなら AAC をそのまま .m4a で吐けば再エンコードゼロで済むはず」となりますが、相手のプラットフォームによって再生互換性が不安定だったり、サンプリングレートが不揃いだったりするため、このツールは出力拡張子に合わせて常に再エンコードする構成にしてあります。可逆で取り出したいなら wav (16-bit PCM)、ファイルサイズを優先するなら mp3 (libmp3lame) を選ぶのが目安です。後段で別フォーマットへ揃え直したい場合は audio-convert に流し込めば mp3 / wav / m4a / ogg / flac の間で再変換できます。

アップロード型コンバーターと違うところ

「動画 音声 抽出 オンライン」で検索すると、動画ファイルをサーバーにアップロードして音声 MP3 を返す Web サービスが大量にヒットします。ただし社内会議の録画にはクライアント名・人事案件・売上見込みといった機微な情報が含まれていることが多く、それを未知の事業者のストレージに一時的にであれ送ってしまうのは、業務上の情報管理規程の観点でかなり重い扱いになります。多くのサービスの利用規約には「アップロードされたコンテンツは品質改善目的で利用する場合がある」「ログを一定期間保持する」といった条項が入っていて、削除を申し出ても CDN キャッシュやバックアップに残った断片までは確認できません。

video-extract-audio はファイルを送信する経路がそもそもコードに存在しません。ffmpeg.wasm が Worker 内のメモリ上で完結し、生成された音声 Blob は同じタブ内の <a> リンクでダウンロードされるだけです。ソースは GitHub で公開しているので、「本当にアップロードしていないのか」は規約を読む代わりにコードと DevTools の Network タブで直接検証できます。社外秘な録画を扱うときに必要なのは「相手を信じる根拠」ではなく「送る経路が無いことを確かめられる仕組み」のほうです。