Extract Audio from FLV to WEBA — Free Online Tool

Extract audio from FLV files and convert it to WEBA format, re-encoding the source AAC or MP3 audio stream into Opus — a modern, highly efficient lossy codec optimized for web delivery and streaming. WEBA's Opus audio typically achieves better quality-to-bitrate ratios than the legacy codecs found in FLV containers.

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

FLV files commonly carry audio encoded as AAC or MP3 (via libmp3lame), neither of which can be directly placed into a WEBA/WebM container. This tool fully discards the video stream using the -vn flag, then transcodes the audio stream from its original FLV codec (typically AAC) into Opus using the libopus encoder. The result is a standalone .weba file — an audio-only WebM container — with no video data included. Because this involves actual audio decoding and re-encoding (not a simple remux), there is a generation of lossy compression applied on top of the original FLV audio, so choosing an adequate output bitrate matters for preserving perceived quality.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that handles all the decoding, stream selection, encoding, and container muxing for this conversion.
-i input.flv Specifies the input FLV file. FFmpeg reads the FLV container, identifying its video stream (typically H.264 or FLV1) and audio stream (typically AAC or MP3) for subsequent processing.
-vn Disables video output entirely — this is what makes the conversion an audio extraction rather than a full video transcode. The H.264 or FLV video stream in the source FLV is read but completely discarded, keeping only the audio data for the output.
-c:a libopus Selects the libopus encoder to transcode the audio stream into Opus format. Since AAC (the typical FLV audio codec) is not compatible with the WEBA/WebM container, the audio must be fully decoded and re-encoded into Opus — the native and preferred codec for WEBA files.
-b:a 128k Sets the target audio bitrate for the Opus encoder to 128 kilobits per second. Opus at 128k provides high-quality audio for music and voice, and because Opus is more efficient than AAC or MP3, this bitrate generally yields excellent perceptual quality for most FLV source content.
-vn A second -vn flag applied on the output side as a reinforcing instruction to ensure no video stream is written to the .weba output file. FFmpeg processes this without error and the WEBA container, being audio-only by specification, will not include any video regardless.
output.weba The output filename with the .weba extension, which tells FFmpeg to write an audio-only WebM container. FFmpeg infers the WebM muxer from this extension, resulting in a file ready for use in HTML5 <audio> elements or any WebM-compatible audio player.

Common Use Cases

  • Ripping the audio from an archived FLV Flash video — such as an old YouTube download or web broadcast recording — to play it in a modern browser without Flash Player
  • Extracting commentary or narration from an FLV screen recording to embed as a lightweight audio element in a web page using the HTML5 <audio> tag with Opus support
  • Stripping music or sound from an FLV livestream recording to create a podcast episode or standalone audio clip optimized for bandwidth-constrained listeners
  • Converting a collection of legacy FLV audio files from Flash-era e-learning courses into WEBA/Opus for use in modern HTML5-based learning management systems
  • Preparing audio extracted from FLV video files for use in WebRTC or low-latency web audio applications, since Opus is the native codec for WebRTC audio
  • Reducing the file size of an FLV recording by discarding the video stream entirely and encoding only the audio track at a controlled Opus bitrate for archival or sharing

Frequently Asked Questions

Yes — this conversion involves transcoding, not remuxing. The original audio in the FLV (typically AAC or MP3) is decoded to raw PCM and then re-encoded as Opus, which introduces a second generation of lossy compression. However, Opus is exceptionally efficient: at the default 128k bitrate, Opus generally sounds equal to or better than AAC or MP3 at the same bitrate, so the perceptible quality loss is often minimal. If you want to minimize degradation, use a higher output bitrate like 192k or 256k.
The WEBA format is a restricted WebM container that only supports Opus or Vorbis audio — it does not accept AAC or MP3 streams. Because the codecs are incompatible with the output container, transcoding to Opus is unavoidable. There is no lossless 'stream copy' path from FLV audio to WEBA; the audio must be fully decoded and re-encoded.
Change the value after -b:a in the command. For example, replace '128k' with '192k' for noticeably better quality, or '96k' for a smaller file where bandwidth is constrained. Opus is efficient enough that 96k often sounds comparable to 128k MP3, so you have flexibility to go lower than you might expect without severe quality loss. The valid options in this tool are 64k, 96k, 128k, 192k, 256k, and 320k.
The command shown is for a single file, but on your desktop you can batch process using a shell loop. On Linux or macOS: 'for f in *.flv; do ffmpeg -i "$f" -vn -c:a libopus -b:a 128k "${f%.flv}.weba"; done'. On Windows Command Prompt: 'for %f in (*.flv) do ffmpeg -i "%f" -vn -c:a libopus -b:a 128k "%~nf.weba"'. The browser tool processes one file at a time, making the desktop command especially useful for large batches.
WEBA with Opus audio has excellent support in all modern browsers — Chrome, Firefox, Edge, and Opera all support it natively. Safari added Opus/WebM support in Safari 15 (2021), so older Apple devices may not play .weba files in the browser. Desktop media players like VLC, mpv, and MPC-HC handle WEBA without issues. However, legacy devices, many smart TVs, and some mobile apps may not recognize the .weba extension or WebM container, making WEBA best suited for web-first use cases rather than universal playback.
FLV containers have limited and non-standard metadata support, and metadata preservation through this transcoding process is not guaranteed. FFmpeg will attempt to carry over any metadata tags it can read from the FLV (such as title or artist), but many FLV files carry no embedded metadata at all — especially older recordings. If metadata matters, you can add it manually to the FFmpeg command using flags like -metadata title='My Title' before the output filename.

Technical Notes

FLV is a legacy Flash-era container that supports only AAC and MP3 as its audio codec options, and it cannot be directly remuxed into a WebM or WEBA container due to codec incompatibility. The libopus encoder used in this conversion is the reference implementation of the IETF Opus codec (RFC 6716), which combines SILK and CELT coding modes to deliver excellent quality across the full bitrate range from 6k to 510k. At the default 128k target bitrate (-b:a 128k), Opus operates in CELT mode optimized for music and general audio. Note that the -vn flag appears twice in the resolved command — the first instance explicitly suppresses video stream selection, and the second is a precautionary flag on the output side; FFmpeg handles this gracefully without error. Since FLV does not support multiple audio tracks, there is no ambiguity about which audio stream is extracted. The WEBA container inherits WebM's Matroska-derived structure and supports streaming and low-latency playback, making it well suited for web audio elements and WebRTC pipelines — a significant improvement over the Flash-dependent FLV source format.

Related Tools