Extract Audio from DVR to M4B — Free Online Tool

Extract audio from DVR recordings and save it as an M4B audiobook file, with AAC encoding and fast-start streaming support baked in. Ideal for pulling broadcast captures or surveillance audio into a portable, chapter-aware MPEG-4 audio container.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

DVR files store video and audio streams together, typically encoded with H.264 video and AAC audio. This tool strips the video entirely and extracts only the audio stream, re-encoding it to AAC at 128k bitrate and wrapping it in the M4B container — a variant of the MPEG-4 audio format (.m4a) that adds support for chapters and bookmarking. Because DVR files commonly use AAC audio already, the transcoding step is relatively lightweight, but a full decode-and-reencode still occurs to ensure clean M4B-compliant output. The -movflags +faststart flag repositions the MP4 metadata header to the front of the file, which enables progressive streaming playback rather than requiring the entire file to download first.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. When run in the browser, this executes the FFmpeg.wasm WebAssembly build entirely client-side — no data leaves your machine.
-i input.dvr Specifies the input DVR file. FFmpeg will demux the container to access the individual video and audio streams stored inside the proprietary DVR format.
-vn Disables video output entirely, stripping the H.264 or MJPEG video stream from the DVR file. This is essential because M4B is an audio-only container and cannot carry a video stream.
-c:a aac Encodes the output audio using FFmpeg's native AAC encoder. Since DVR files commonly use AAC internally, this performs an AAC-to-AAC transcode to produce M4B-compliant audio at the specified bitrate.
-b:a 128k Sets the output audio bitrate to 128 kilobits per second. For typical DVR content like broadcast TV, lectures, or surveillance audio, 128k AAC provides a good balance between file size and intelligibility.
-movflags +faststart Moves the MPEG-4 moov metadata atom to the beginning of the output file after encoding completes. This allows audiobook players and streaming apps to begin playing the M4B file immediately rather than waiting for the full file to load.
output.m4b The output filename with the .m4b extension, which signals to compatible players like Apple Books, Overcast, and VLC that this MPEG-4 audio file should be treated as an audiobook with bookmarking and chapter support.

Common Use Cases

  • Convert a DVR-recorded broadcast lecture or educational TV segment into an M4B file for offline listening on an iPhone or Apple Books
  • Archive audio commentary from a DVR-captured sports broadcast in a bookmarkable format so you can resume playback exactly where you left off
  • Pull audio from a DVR surveillance recording for use as timestamped evidence documentation in a format compatible with forensic audio tools
  • Transform a DVR recording of a radio show or talk program into an M4B podcast episode that supports chapter markers for section navigation
  • Extract audio from a long DVR capture of a conference or seminar to distribute as a structured audiobook with compatible players like Overcast or Pocket Casts
  • Convert DVR-recorded home video audio to M4B for long-term archival in a streamable, metadata-rich container that Apple and Android devices handle natively

Frequently Asked Questions

Yes, some quality loss is expected because both formats use lossy compression and the audio must be fully decoded and re-encoded. DVR files typically store audio as AAC, so you are transcoding from AAC to AAC — a lossy-to-lossy transcode that introduces a small but measurable generation loss. At the default 128k bitrate the output is indistinguishable for most spoken-word content, which is exactly the kind of audio DVR recordings usually contain. If you need higher fidelity, increase the -b:a value to 192k or 256k.
The M4B container fully supports chapters, but this tool's FFmpeg command does not automatically generate them because DVR recordings do not carry chapter metadata. To add chapters you would need to supply a chapter metadata file using FFmpeg's -i flag with a chapters.txt input and the -map_metadata option after conversion. Alternatively, tools like mp4chaps or Audiobook Builder can add chapters to the resulting M4B file as a post-processing step.
M4B and M4A are structurally identical MPEG-4 audio containers, but the .m4b extension signals to compatible players like Apple Books, Overcast, and VLC that the file should be treated as an audiobook — enabling features like per-file bookmarking, playback speed control, and chapter navigation. Using .m4b makes the file immediately recognizable to audiobook-aware software without any additional tagging, which is why it is the correct output choice when the goal is portable, resumable audio playback.
MPEG-4 files store a metadata atom called the 'moov' atom that players need to begin playback. By default FFmpeg writes this atom at the end of the file after all audio data is written. The +faststart flag moves the moov atom to the beginning of the file as a post-processing step, which means audio players and streaming apps can start playing the file immediately without buffering the entire thing first. For large DVR-derived M4B files this can meaningfully reduce the time before playback begins.
Change the value after -b:a to adjust the audio bitrate. The available options are 64k, 96k, 128k, 192k, 256k, and 320k. For speech-heavy DVR content like broadcasts or lectures, 96k is often sufficient and reduces file size noticeably. For music or high-fidelity audio captured via DVR, 192k or 256k will better preserve the source quality after the AAC-to-AAC transcode.
Yes. On Linux or macOS you can run the following in your terminal: for f in *.dvr; do ffmpeg -i "$f" -vn -c:a aac -b:a 128k -movflags +faststart "${f%.dvr}.m4b"; done. On Windows PowerShell the equivalent is: Get-ChildItem *.dvr | ForEach-Object { ffmpeg -i $_.FullName -vn -c:a aac -b:a 128k -movflags +faststart ($_.BaseName + '.m4b') }. This is particularly useful for processing large DVR archives that exceed the 1GB browser limit of the online tool.

Technical Notes

DVR is a proprietary container format with inconsistent internal structure depending on the recorder manufacturer, which means FFmpeg may not always correctly detect stream duration or bitrate metadata from the input — you may see 'N/A' duration in the FFmpeg output log, which is normal and does not affect the audio extraction itself. The audio stream in most DVR files is AAC, making this an AAC-to-AAC transcode rather than a codec switch; the -c:a aac flag ensures the output uses FFmpeg's native AAC encoder, which is well-optimized for the M4B container. The -vn flag is critical here — without it FFmpeg would attempt to include video in the output, which M4B does not support as an audio-only format. M4B does not support multiple audio tracks, matching the DVR format's single-track audio limitation, so no stream selection logic is needed. ID3-style metadata from the DVR source (such as recording timestamps or channel names) is unlikely to map cleanly to M4B tags; you should use a tool like AtomicParsley or MusicBrainz Picard to manually add title, author, and album art metadata to the output file for proper audiobook player recognition.

Related Tools