デコードするのは音声トラックだけ
MOV(QuickTime)ファイルは多くの音声コーデックを入れられます。Nerulioの読み込み側が知っているのは、AAC、MP3、Opus、FLACと、PCMの各種(16・24・32ビット整数、浮動小数点、ビッグ・リトルエンディアン、µ-law、A-law)です。PCMは自分でデコードし、AACなどの圧縮コーデックはブラウザのWebCodecsデコーダーに渡します。
Apple Lossless(ALAC)は、読み込み側のコーデック一覧にもWebCodecsのレジストリにもありません。そのため音声がALACだけのMOVは、ここでは変換できません。
映像は捨てるので、MOVの大きさはほとんど関係ありません。ProResのクリップが大きいのは映像のためで、AppleによればProResのファイルはHEVCの最大30倍の大きさです。その中の48 kHz・24ビット・ステレオのPCM音声は2,304 kbit/sにすぎず、読み込み側はファイル全体ではなく必要な部分だけを取り込みます。
- PCM
- 非圧縮のサンプル。MOVでは16・24ビット、ビッグ・リトルエンディアンのことが多いです。
- ALAC
- Apple Lossless。この読み込み側は対応していません。
- 範囲読み込み
- 大きなファイルを丸ごと読まず、必要なバイト範囲だけを取り込むこと。
例:PCM音声入りのProRes MOVを1分
まず音声トラックを調べます。
$ ffprobe -v error -select_streams a:0 -show_entries stream=codec_name,sample_rate,channels -of default=nw=1 take3.mov
codec_name=pcm_s24le
sample_rate=48000
channels=2
MOV内のPCM 48,000 × 24 bit × 2 = 2,304 kbit/s → 1分で17.3 MB
MP3 192 kbit/s 1分で1.44 MB · ここのWAV(16ビット)1,536 kbit/s → 1分で11.5 MB
NerulioのWAVは16ビットなので、24ビットの録音は最後の8ビット分の分解能を失います。24ビットのまま編集するなら、デスクトップのツールで音声を取り出してください。
MOVからMP3へ
| MOVの中 | Nerulioで | MP3では |
|---|
| AACの音声 | ブラウザ(WebCodecs)がデコード | LAME 3.100、固定ビットレート |
|---|
| PCMの音声(16/24/32ビット、ビッグ・リトルエンディアン) | 読み込み側が自分でデコード | LAME 3.100、固定ビットレート |
|---|
| ALACの音声 | 非対応 | — |
|---|
| H.264・HEVC・ProResの映像 | 捨てる。デコードしない | — |
|---|
| タイムコードとその他のトラック | 無視 | — |
|---|
結果の確認
- MOVを開きます。プレビューが黒いままでも、ProResのファイルまで開けて長さが表示されます。
- MP3を作り、結果が区間と同じ長さか確認します。
- MP3の容量をビットレート × 秒数 ÷ 8と比べ、選んだビットレートが使われたか確かめます。
トラブルシューティング
| 症状 | 考えられる原因 | 確認方法 | 対処 |
|---|
| ほかでは音が出るMOVなのに、音声トラックのエラーで止まる | 読み込み側が知らないコーデック(ALACなど)の音声 | ffprobeでcodec_name=alac | FFmpegで変換するか、編集ソフトからAAC・PCMで書き出し直す |
|---|
| MP3に違う音声トラックが入った | Nerulioは主な音声トラック1本だけを使う | ffprobeですべての音声ストリームを確認 | 別のトラックはFFmpegで取り出す(-map 0:a:1) |
|---|
| 数ギガバイトのMOVで進みが遅い | 音声のパケットがファイル全体に散らばっており、すべて取り込む必要がある | 進行表示は進み続ける | 終わるまで待つか、区間を短くする。映像はデコードしていない |
|---|
| 24ビットの録音を24ビットのまま残したい | ここのWAV出力は16ビット | — | FFmpegか編集ソフトで24ビットのWAVを取り出す |
|---|
ほかの方法
| 方法 | こんなときに向いています |
|---|
FFmpeg:ffmpeg -i take3.mov -vn -c:a libmp3lame -b:a 192k take3.mp3 | ALACの音声、特定の音声トラック(-map 0:a:1)、一括処理。 |
|---|
| 編集アプリの音声書き出し | MOVがプロジェクトの一部なら、プロジェクトのビット深度で音声を書き出してください。 |
|---|
この方法の限界
- ALAC(Apple Lossless)の音声には対応していません。
- WAV出力は16ビットで、24ビットの元は深度を失います。
- 使うのは主な音声トラック1本だけです。
バージョンと出典
Nerulioのメディアテスト(tests/media-browser.mjs)はH.264/AAC MP4からのMP3・WAVの取り出しを確認するもので、MOVの入力とPCMのデコードは含みません。ここでのコーデック一覧とPCMのデコードの説明は、Mediabunny 1.58.1の読み込み側、WebCodecsのコーデックレジストリ、AppleのProResのページに基づきます。
参照した公式ドキュメント
MOVをMP3に変換
MOVはiPhone・Macでよく作られる形式で、中のコーデックによりブラウザ対応が変わります。
音声トラックをデコードしてMP3にエンコードします。ファイル内の音声コーデックにブラウザが対応している必要があります。
ファイルはサーバーにアップロードされず、このブラウザ内だけで処理されます。
動画 → 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アドレスなどの接続情報は配信元に伝わります。
作業は自動保存されますか?
いいえ。画像と編集状態はこのタブに保持され、メディア出力は端末の一時保存を利用する場合があります。言語を変えても作業は残りますが、再読み込み、タブを閉じる操作、別のページへの移動で失われることがあります。