ビットレートと容量、そしてMP3が取り戻せないもの
固定ビットレートのMP3は毎秒同じビット数を使うので、サイズはビットレート × 長さ ÷ 8です。192 kbit/sなら毎秒24 KB、1分で約1.4 MBです。44.1 kHz・16ビットのステレオWAVは1411.2 kbit/sで、1分あたり約10 MBです。
動画の音声はほぼ必ず、AACやOpusですでに圧縮されています。MP3にするとデコードして再エンコードするため、最初のエンコーダーが捨てた細部は戻りません。128 kbit/sの元音声を320 kbit/sにしてもファイルが大きくなるだけです。元と同じか少し高いビットレートを選び、編集を続ける音声ならWAVにしてください。
正規化は区間で最も大きいサンプルを測り、そのピークが最大値の0.98(約−0.2 dBFS)になるよう区間全体を同じ倍率で持ち上げます。ダイナミクスは圧縮しないので、大きなピークが1つあると静かな録音をあまり上げられません。フェードは直線的で、区間の始まりと終わりから測り、それぞれ区間の長さの半分までです。
- kbit/s
- 1秒あたり千ビット。192 kbit/sは毎秒24,000バイトです。
- CBR
- 固定ビットレート。MP3のどの1秒も同じビット数を使います。
- ピークの正規化
- 最も大きいサンプルがクリップの直前に来るよう、区間全体に1つの倍率をかけること。
例:3分20秒(200秒)のミュージックビデオ
選択肢ごとの音声の容量を、結果の欄と同じ単位(1 MB = 1,048,576バイト)で見ると:
128 kbit/s 128,000 × 200 ÷ 8 = 3,200,000 bytes ≈ 3.1 MB
192 kbit/s 192,000 × 200 ÷ 8 = 4,800,000 bytes ≈ 4.6 MB (既定)
256 kbit/s 6,400,000 bytes ≈ 6.1 MB
320 kbit/s 8,000,000 bytes ≈ 7.6 MB
WAV 44.1 kHz 16ビット ステレオ 1,411,200 × 200 ÷ 8 = 35,280,000 bytes ≈ 33.6 MB
正規化 測定ピーク0.25 → 倍率 0.98 ÷ 0.25 = 3.92(+11.9 dB)
ファイルのヘッダー分が少し加わります。元の音声が128 kbit/sのAACなら、192 kbit/sのMP3で中身はすべて収まり、320 kbit/sは3.2 MB増えるだけで聞こえる違いはありません。
元の音声からMP3まで
| 元のファイル | 処理 | 結果 |
|---|
| 音声コーデック(AAC、Opus、MP3、PCMなど) | ブラウザがデコード。PCMは読み込み側が自分でデコード | LAME 3.100でエンコード(WAVはPCMで書き込み) |
|---|
| サンプルレート | そのまま、または選べば44.1・48 kHzにリサンプリング | 同じサンプルレート |
|---|
| 映像トラック | デコードせずに捨てる | — |
|---|
| 区間の始まりと終わり | 外側のサンプルは捨て、フェードは区間を基準に測る | 0秒から始まる |
|---|
| 追加の音声トラック、チャプター、カバー画像 | 読まない | — |
|---|
結果の確認
- 結果のプレーヤーで再生します。区間と同じところで始まって終わり、設定したフェードが入っているはずです。
- 結果の欄の容量を、ビットレート × 長さ ÷ 8と比べます。
- 正規化した場合は元と音量を比べます。最も大きい瞬間がクリップの少し手前にあるはずです。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|
| 「This file has no audio track」と出る | 動画が音声なしで録画・書き出しされた | 音を出して元を再生し、ffprobeに音声ストリームがない | 取り出す音がありません。音声付きの版を探してください |
|---|
| デコーダーのエラーで止まる | ブラウザがこの音声コーデック(サラウンドのコーデックなど)をデコードできない | ffprobeで音声コーデックを確認 | デスクトップのツールで変換するか、別のブラウザで試す |
|---|
| 320 kbit/sが192より良く聞こえない | 元の音声がより低いビットレートの非可逆圧縮で、再エンコードしても細部は増えない | ffprobeで元音声のbit_rateを確認 | 192か元のビットレートを選び、編集用ならWAV |
|---|
| 正規化しても音量がほとんど変わらない | 大きなピーク1つ(拍手、ドアの音)がすでに最大値近くにある | 音声編集ソフトで突出した1点を探す | その点を区間から外すか、ダイナミクスを圧縮する音量ツールを使う |
|---|
| 互換モードが長いファイルを断る | WebCodecsがないと元ファイル全体をメモリでデコードするため、20分まで | 互換モードの案内が出ている | ファイルを少しずつ読み、長さの上限がないWebCodecs対応のブラウザを使う |
|---|
ほかの方法
| 方法 | こんなときに向いています |
|---|
FFmpeg:ffmpeg -i in.mp4 -vn -c:a libmp3lame -b:a 192k out.mp3 | 一括変換や、ブラウザがデコードできないコーデック。libmp3lameは-q:aでVBRにも対応します。 |
|---|
| このページのWAV | 後で編集・ミックス・再エンコードする音声なら、ここで非可逆の段階を増やさずに済みます。 |
|---|
この方法の限界
- MP3は固定ビットレートでのみ書き出し、VBRのオプションはありません。
- ID3タグ(タイトル、アーティスト、カバー)は書き込みません。
- 3チャンネル以上の元ファイルは、この経路ではテストしていません。
バージョンと出典
tests/media-browser.mjsで、Chromium 153とFirefox 155を使って確認しました。1920 × 1080のMP4から切り出した4秒の192 kbit/s MP3と44.1 kHzのWAVは長さが0.12秒以内で一致し、静かなテスト音の正規化はピークを0.2未満と測って2倍を超えて持ち上げ、1秒のフェードは長さを変えませんでした。MP3のエンコードはWebAssemblyにコンパイルしたLAME 3.100(mediabunny-mp3-encoder 1.58.1)です。FFmpegのオプションは公式ドキュメントに従っています。
参照した公式ドキュメント
動画 → MP3
対応する動画から必要な区間の音声をMP3・WAVに保存。ビットレートを選び、ブラウザで処理した結果をダウンロードできます。
使い方
- 対応する動画・音声を開く
- 時間範囲、MP3・WAV形式、音声設定を選択
- 保存した結果の最初と最後を再生して確認
対応形式
MP4 / WebM / MOV / MP3 / WAV / OGG / M4A → MP3 / WAV — 読み込み・書き出しはブラウザの対応状況によります。
このツールでできること
音声を順次抽出し、96〜320kbps MP3またはPCM WAVで保存します。
処理方式と検証状況
advanced · ranged demux / WebCodecs / LAME WASM. 品質検証中です。Pro・Flagship水準はまだ実証されていません。
書き出す前に
高速カットは範囲内のキーフレームに短縮します。精密モードは再エンコードし、コーデック対応は環境次第です。可能なら端末の一時保存を使います。互換録画の短時間制限は残ります。
よくある質問
対応サイズは何で決まりますか?
端末のメモリ・保存容量・コーデック対応によります。テスト例はすべてのファイルの動作保証ではありません。
ファイルはアップロードされますか?
このツールで開いたファイルはアップロードせず端末で処理します。コミュニティの投稿に明示的に添付する画像は別途アップロードされます。一部のエンジンやモデルは外部から取得するため、IPアドレスなどの接続情報は配信元に伝わります。
作業は自動保存されますか?
いいえ。画像と編集状態はこのタブに保持され、メディア出力は端末の一時保存を利用する場合があります。言語を変えても作業は残りますが、再読み込み、タブを閉じる操作、別のページへの移動で失われることがあります。