スマートフォンで撮影した動画や、会議・講義・インタビューの録画から、映像はいらないので音声だけ残したいことがあります。
MP4からMP3を作りたいときもあれば、動画に入っている音声を変換せず、そのまま取り出したいこともあります。音声を書き出すだけなら、大きな動画編集ソフトを用意する必要はありません。
Browser Kittyの動画から音声抽出 / Video Audio Extractorでは、動画ファイルを選んで、元の音質のまま取り出す、M4Aへ変換する、MP3へ変換する、WAVへ変換する、のいずれかを選び、音声ファイルとして保存できます。
動画に複数の音声トラックが入っている場合は、取り出すトラックも選択できます。動画の解析から音声抽出・変換、結果ファイルの作成までブラウザ内で行われ、音声変換のために動画をBrowser Kittyのサーバーへアップロードすることはありません。
MP4から音声を取り出すとは?
MP4は一般に「動画ファイル」として扱われますが、中には映像だけでなく、音声や字幕、メタデータなどを格納できます。
たとえばmeeting.mp4にVideoとAudioが入っている場合、Audioだけを取り出せばmeeting-audio.m4aやmeeting-audio.mp3といった音声ファイルとして保存できます。
ここで重要なのは、「音声を取り出す」ことと「別の音声形式へ変換する」ことは、必ずしも同じ処理ではないという点です。元の動画に入っている音声を変換せず、そのまま別ファイルへ移せることもあります。
元音声と出力形式の組み合わせが対応していれば、再エンコードせず取り出せる場合があります。
「音声抽出」と「MP3変換」の違い
動画から音声を取り出すというと「MP4 → MP3」を思い浮かべるかもしれません。実際には、大きく分けて「元の音声をそのまま取り出す」方法と「別の音声形式へ変換する」方法があります。
動画内の音声形式と保存先の組み合わせが対応していれば、再エンコードせずに音声だけを取り出せます。たとえばMP4にAAC音声が入っている場合、AAC音声を作り直さずM4Aとして保存できます。
MP3など別の形式が必要な場合は、元音声をデコードしてからMP3としてエンコードします。こちらは再エンコードするため、出力時のbitrateなどを指定できます。
| 方法 | 再エンコード | 主な用途 |
|---|---|---|
| 元の音質のまま | なし | 元動画の音声をそのまま保管したい |
| M4A / MP3 / WAVへ変換 | あり | 必要な形式・bitrateへそろえたい |
1. 動画ファイルを選ぶ
まず動画から音声抽出を開き、元になる動画ファイルを選択します。PCではDrag & Dropでも追加できます。
meeting.mp4、lecture.mov、interview.mkv、recording.webmなどを読み込めます。対応できるかどうかは拡張子だけでは決まりません。ファイルを選択すると、FFmpegが動画内部のコンテナやコーデックを解析し、音声トラックを確認します。
- MP4 / M4V / MOV
- MKV / WebM
- AVI
- MPEG-TS / MPEG-PS
- FLV
- ASF / WMV
- 3GPなど、内包FFmpeg profileが解析できる動画
2. 取り出す音声トラックを確認する
スマートフォンで撮影した一般的な動画であれば、音声トラックは1つだけのことがほとんどです。一方、映画や録画データ、MKVなどでは、複数の音声トラックが入っていることがあります。
複数の音声が見つかった場合は、ファイルに記録されている情報に応じて、言語、タイトル、標準トラックかどうか、コーデック、bitrate、sample rate、channelsなどを確認し、取り出す音声を1つ選択します。
1回の処理で取り出せる音声トラックは1つです。
- 言語
- タイトル
- 標準トラックかどうか
- コーデック
- bitrate
- sample rate
- channels
3. 保存方法を選ぶ
音声トラックを確認したら、保存方法を選びます。現在は「元の音質のまま」「M4A」「MP3」「WAV」の4種類です。
特に出力形式を決めていない場合は、まず「元の音質のまま」が使えるか確認すると、不要な再エンコードを避けられます。
| 保存方法 | 処理 |
|---|---|
| 元の音質のまま | 確認済みの組み合わせならストリームコピー |
| M4A | AACへ再エンコード |
| MP3 | LAMEでMP3へ再エンコード |
| WAV | PCM 16-bitへ変換 |
元の音質のまま取り出す
「元の音質のまま」は、対応する音声を再エンコードせずに保存する方法です。
たとえばMP4にAAC音声が入っていれば、AAC音声だけを取り出してM4Aとして保存します。AACへ変換し直しているわけではなく、動画に入っていた音声をそのまま取り出しています。
「映像はいらないので音声だけ保管したい」という用途なら、出力形式をMP3などに統一する必要がない限り、この方法が使いやすいでしょう。
| 動画内の音声 | 保存形式 |
|---|---|
| AAC | M4A |
| ALAC | M4A |
| MP3 | MP3 |
| Opus | OPUS |
| Vorbis | OGG |
| FLAC | FLAC |
MP3として保存する
再生環境や他のソフトとの互換性を考えてMP3にしたい場合は、MP3変換を選びます。bitrateは128 / 192 / 256 / 320 kbpsから選択できます。
チャンネルはモノラルまたはステレオから選べます。会議や講義など、人の声を聞くことが中心なら、高いbitrateが必ず必要というわけではありません。音楽などを保存する場合は、用途に応じて高めのbitrateを選ぶこともできます。
MP3のエンコードにはLAMEが使われます。
- 128 kbps
- 192 kbps
- 256 kbps
- 320 kbps
- モノラル / ステレオ
M4Aとして保存する
M4Aを選ぶと、AAC音声へ変換して保存します。bitrateは128 / 192 / 256 kbpsから選択できます。
「元のAACを再エンコードせずM4Aへ取り出す」ことと、「M4Aを選び、AACへ再エンコードする」ことは別の処理です。
元動画の音声がAACで「元の音質のまま」を利用できる場合は、AACを作り直さずM4Aとして保存できます。一方、「M4A」を出力形式として選んだ場合は、指定したbitrateでAACへ再エンコードします。
- 128 kbps
- 192 kbps
- 256 kbps
WAVとして保存する
編集ソフトなどで扱いやすい非圧縮音声が必要なら、WAVを選択できます。出力はPCM 16-bitです。
MP3 → WAVやAAC → WAVのように変換しても、元の音声より高音質になるわけではありません。圧縮時に失われた情報がWAVへの変換で戻ることはなく、ファイルサイズは圧縮音声より大きくなります。
4. 出力ファイル名を確認する
保存前に出力ファイル名を変更できます。たとえばmeeting.mp4を読み込んだ場合は、meeting-audio.m4aのような名前になります。
拡張子は選択した保存形式に合わせて管理されるので、必要であれば保存前に分かりやすい名前へ変更します。
5. 「音声を取り出す」を実行する
設定が決まったら「音声を取り出す」を実行します。処理にはブラウザ内のFFmpeg WebAssemblyが使われます。
動画をBrowser Kittyへ送ってサーバー側で変換するのではなく、選択した動画をブラウザ内で読み込み、指定した音声トラックから出力ファイルを作成します。元の動画ファイルが書き換えられることはありません。
6. 結果を確認して保存する
処理が終わると、生成した音声の形式、再生時間、ファイルサイズなどを確認できます。ブラウザがその音声形式の再生に対応していれば、その場でプレビューすることもできます。
内容を確認したら音声ファイルを保存します。生成した形式をブラウザ自身が再生できない場合は、アプリ内でプレビューできないことがあります。その場合でも、音声ファイルの生成に成功していれば保存できることがあります。
設定だけ変えてもう一度作る
一度音声を作ったあとで「MP3 192 kbpsではなく320 kbpsにしたい」「同じ動画からM4Aも作りたい」ということもあります。
その場合は「設定を変えてもう一度」を使うと、元動画を選び直さずに保存形式などの設定へ戻れます。
複数音声の動画から必要なトラックだけ取り出す
MKVなどには、日本語、英語、コメンタリーのように複数の音声トラックが含まれていることがあります。
こうした動画を単純に「MP3へ変換」すると、どの音声が使われるのか分かりにくいことがあります。動画から音声抽出では、複数の音声が見つかったときに対象トラックを選んでから処理します。
英語音声だけを保存したい場合や、標準トラックとは別の音声を取り出したい場合にも利用できます。
ブラウザで再生できない動画でも音声を取り出せることがある
ブラウザで動画を再生できるかどうかと、FFmpegが動画内部を解析できるかどうかは別です。
映像コーデックがブラウザの再生に対応していなくても、FFmpegがコンテナを解析して音声トラックを読み取れれば、音声だけを取り出せることがあります。
このツールでは入力動画のプレビューを必須にしていないため、「ブラウザで動画を再生できない=音声も取り出せない」とは限りません。
大きな動画ではメモリや端末性能に注意
元動画が数GBあるようなケースでは、ブラウザや端末側の制限も影響します。
動画から音声抽出では元動画をWORKERFSで扱い、処理開始時にFile.arrayBuffer()で動画全体をJavaScriptメモリへ丸ごと複製しない構成になっています。
それでもWASMが使用するメモリ、生成する音声ファイルのサイズ、端末性能、ブラウザが利用できるメモリ、端末の空き容量などには上限があります。そのため、非常に大きな動画や長時間の動画が必ず処理できるとは限りません。特にスマートフォンでは、PCより利用できるメモリが少ないことがあります。
- WASMが使用するメモリ
- 生成する音声ファイルのサイズ
- 端末性能
- ブラウザが利用できるメモリ
- 端末の空き容量
動画ファイルはブラウザ内で処理される
動画から音声抽出では、「動画を選択 → 音声トラックを解析 → 音声を抽出・変換 → 結果を確認 → 保存」までをブラウザ内で行います。
アプリのCSPには外部接続を禁止する connect-src 'none' が設定されており、FFmpeg JavaScript、WebAssembly、実行runtimeも単一HTMLへ内包されています。
Web版を開く際にはBrowser Kittyからアプリ本体のHTMLを取得しますが、その後、選択した動画を音声変換のためにサーバーへアップロードすることはありません。
選択した動画内容を変換のために外部サーバーへ送信しません。
単一HTML版はオフラインでも使える
リポジトリで配布されているvideo-audio-extractor.htmlは、必要なFFmpeg WebAssemblyなどを内包した単一HTMLです。
ファイルを保存して対応ブラウザで直接開けば、動画の解析、音声トラックの選択、音声抽出、M4A / MP3 / WAVへの変換、結果ファイルの作成をネット接続なしで実行できます。
動画や生成した音声そのものをLocalStorageへ保存することもありません。
音声ファイルを選んだ場合
このツールは動画から音声を取り出すことを目的としています。MP3やWAVなど、最初から音声だけのファイルを選んだ場合は用途外として案内されます。
音声ファイルの一部をカットしたり、複数の音声をつなげたりしたい場合は、Browser Kittyの音声カット・結合 / Audio Cutter & Joinerを利用できます。
動画に音声が入っていない場合
動画ファイルだからといって、必ず音声が含まれているとは限りません。映像トラックだけで、Audioトラックが存在しないファイルもあります。
その場合は「この動画には音声がありません」と表示され、音声抽出は行えません。
音声のカットや編集には対応していない
動画から音声抽出は、動画内の音声を取り出すことに特化したツールです。音声の途中をカット、複数音声の結合、フェードイン・フェードアウト、音量調整、ノイズ除去、EQ、再生速度の変更などの音声編集機能はありません。
こうした編集が必要な場合は、先に動画から音声を取り出し、その後Audio Cutter & Joinerなど別のツールで編集します。
- 音声の途中をカット
- 複数音声の結合
- フェードイン・フェードアウト
- 音量調整
- ノイズ除去
- EQ
- 再生速度の変更
MP4からMP3を作る手順
MP4動画からMP3を作るだけなら、動画を選択し、音声トラックを確認してMP3を選び、bitrateを設定して音声を取り出します。処理後に内容を確認してMP3を保存します。
MP3のbitrateは128 / 192 / 256 / 320 kbpsから選べます。
MP3へ変換するため、選択した音声は指定bitrateで再エンコードされます。
元の音質を変えずに取り出す手順
対応している音声形式なら、動画を選択して音声トラックを確認し、「元の音質のまま」を選んで音声を取り出します。この方法では、音声を別のコーデックへ再エンコードしません。
MP3にすること自体が目的でなければ、先に「元の音質のまま」が利用できるか確認すると、余計な変換をせずに済みます。
対応する音声・保存形式の組み合わせで利用でき、音声コーデック自体は再エンコードしません。
動画から必要な音声だけを保存する
動画から音声を取り出す方法は、単純な「MP4からMP3への変換」だけではありません。
元動画に入っている音声をそのまま利用できる場合は再エンコードせずに保存し、必要なときだけMP3・M4A・WAVへ変換できます。複数の音声トラックを持つ動画なら、保存したいトラックを選んでから処理することもできます。
Browser Kittyの動画から音声抽出では、「動画を選ぶ → 音声を選ぶ → 保存方法を選ぶ → 音声を取り出す → 確認して保存」という流れで、動画を外部の変換サーバーへ送らずに音声ファイルを作成できます。
動画から音声を取り出す手順
- 動画から音声抽出を開き、動画ファイルを選択またはDrag & Dropします。
- 解析後、複数音声がある場合は言語・タイトル・コーデックなどを見て取り出すトラックを選びます。
- 「元の音質のまま」「M4A」「MP3」「WAV」から保存方法を選びます。
- M4A / MP3ではbitrateを選び、MP3では必要に応じてモノラル / ステレオも選びます。
- 出力ファイル名を確認して「音声を取り出す」を実行します。
- 結果の形式・再生時間・ファイルサイズを確認し、プレビューできる場合は再生してから音声ファイルを保存します。
動画から音声抽出
動画から音声トラックを1つ選び、元の音質のまま、またはM4A / MP3 / WAVへ変換して保存します。
注意点
- 特定の形式が必要でなければ、まず「元の音質のまま」が使えるか確認すると不要な再エンコードを避けられます。
- ブラウザで動画を再生できなくても、FFmpegがコンテナを解析できれば音声を取り出せる場合があります。
- 大容量動画では入力全体を最初にJavaScriptメモリへ複製しない構成でも、WASMメモリや出力サイズ、端末性能の制約は残ります。
- 音声のカットや結合が必要なら、抽出後にAudio Cutter & Joinerを使います。
よくある質問
MP4からMP3へ変換できますか?
はい。動画内の音声トラックを選び、MP3を指定して128 / 192 / 256 / 320 kbpsからbitrateを選んで保存できます。
音質を変えずに音声だけ取り出せますか?
対応する音声なら可能です。AAC→M4A、ALAC→M4A、MP3→MP3、Opus→OPUS、Vorbis→OGG、FLAC→FLACは確認済みのストリームコピー経路で、再エンコードせず保存できます。
複数の音声トラックから選べますか?
はい。複数音声が見つかった場合は、利用できる言語・タイトル・標準トラック情報、コーデックなどを確認して1トラックを選べます。
動画はサーバーへアップロードされますか?
いいえ。Web版ではアプリ本体のHTMLを取得しますが、選択した動画の解析、音声抽出・変換、結果作成はブラウザ内で行い、動画内容を変換のためにBrowser Kittyへ送信しません。
ブラウザで再生できない動画からも音声を取り出せますか?
場合によります。ブラウザが映像を再生できなくても、内包FFmpegがコンテナを解析して音声トラックを読めれば抽出できることがあります。
音声ファイル自体をカット・結合できますか?
できません。このツールは動画から1つの音声トラックを取り出す用途向けです。カット・分割・結合にはAudio Cutter & Joinerを利用できます。