Initializing... drag & drop files here
Supports: MJPEG
Opus is an excellent target for extracted audio — it is defined by RFC 6716 (IETF, September 2012, Standards Track), it is royalty-free, and it scales from 6 kbit/s speech to 510 kbit/s stereo music. The catch is on the input side: a genuine .mjpeg file is a picture-only elementary stream — a run of standalone JPEG frames with no audio track, no timestamps, and no duration field. If that is what you have, there is literally nothing for the Opus encoder to read. Many files named .mjpeg are not raw streams at all, though, and those extract fine. This page shows you how to tell which one you are holding, and gets you a real Opus file either way.
.mjpeg name, and this page will work on it. If it plays picture-only, it is a true elementary stream and no audio exists inside it..mjpeg a Stream or a Container?This is the whole decision, and it takes one playback attempt to settle. Motion JPEG is a codec, not a container — the same frames ride inside an AVI, a QuickTime .mov, a Matroska file, or an RTP stream, and only the container versions can carry a companion audio track. Old digital cameras, dashcams and IP cameras almost always wrote a container. What produces a bare .mjpeg is usually a later step: a demux, an ffmpeg -f mjpeg export, or a direct save of an HTTP camera stream. That step keeps the picture and discards the sound.
| What you actually have | Symptom on playback | What this page does |
|---|---|---|
| True raw Motion JPEG elementary stream | Picture plays, no sound, player shows no duration | Errors out — there is no audio stream to encode |
AVI holding MJPEG, renamed to .mjpeg |
Picture and sound both play | Extracts the audio and encodes Opus normally |
QuickTime .mov (MJPEG-A / MJPEG-B), renamed |
Picture and sound both play | Extracts the audio and encodes Opus normally |
| Matroska holding MJPEG, renamed | Picture and sound both play | Extracts the default-flagged audio track |
| A stream you demuxed yourself from a camera file | Picture only | Go back to the original file — the audio is still in it |
If you still have the original camera file, convert that instead: AVI to Opus, MOV to Opus or MKV to Opus. If what you want is the picture rather than the sound, Opus is the wrong target entirely — use MJPEG to MP4 for a playable video, or MJPEG to JPG for stills.
| Control | Values offered here | What to pick |
|---|---|---|
| Audio Codec | Opus only | Fixed — the .opus container carries nothing else |
| File Compression | Quality Preset, Specific file size, Custom Bitrate, Constant Bitrate | Quality Preset for general use; Constant Bitrate for a predictable size |
| Constant Bitrate | 8 kbps through 384 kbps | 64–96 kbps stereo music, 24–32 kbps mono speech |
| Audio Channel | ORIGINAL, MONO, STEREO | MONO roughly halves the size of an interview or bodycam recording |
| Audio Sample Rate | ORIGINAL, 8000, 12000, 16000, 24000, 44100, 48000 HZ | 48000 HZ — pick 44100 and it is snapped to 48000 anyway |
| Trim | Start time + Duration | Cuts before encoding, so you pay for only the part you keep |
If the original recording is genuinely silent — many security cameras, microscope rigs and machine-vision capture cards record no microphone at all — no converter can recover audio, because none was ever encoded. The same applies to a stream pulled from an MJPEG-over-HTTP camera endpoint: that transport carries frames only. If the footage came from a device that did record sound, the audio is sitting in the file the device wrote; find that original rather than the .mjpeg you exported from it. And if you only need part of a long recording, trim the source with Video Cutter first — the audio-only cutter rejects video files.
Because silence would be a fabrication. The extraction path disables the video stream and asks the encoder to write audio; with a picture-only input there are no audio samples, so the muxer is told the output would contain no streams and the job stops. We fed a 100-frame raw .mjpeg through that exact path and ffmpeg reported "Output file does not contain any stream" and wrote nothing at all — no zero-length file, no silent track. An error is the honest result, and it tells you to go looking for the real source file.
Into the container you no longer have. Motion JPEG is only a way of coding frames; the sound lives in a sibling track inside an AVI, MOV or MKV wrapper. Whatever produced the bare .mjpeg — a demuxer, a frame-server export, a saved camera stream — kept the video track and dropped the rest. Check your camera's memory card or the original download folder for a same-named .avi or .mov.
Yes, and that is a legitimate workaround when a page only accepts one extension. The server probes the actual bytes, so an AVI or QuickTime file renamed to .mjpeg is still recognised as that container and its audio track extracts normally. Renaming does not change what is inside a file — it only changes which page will accept the upload.
For anything recorded after about 2013, yes. At the low bitrates typical of surveillance and dashcam audio — 24 to 64 kbps — Opus is substantially clearer than MP3, because its speech mode was designed for exactly that range while MP3's was not. MP3 still wins on universal playback: car head units, older phones and legacy editing software all read MP3 without a plugin. If the file has to open anywhere without questions, use MP3.
The Audio Sample Rate control is shared across every audio target on the site, and 44.1 kHz is valid for most of them. Opus is the exception: RFC 6716 defines the codec at 8, 12, 16, 24 and 48 kHz only, and the reference encoder rejects anything else outright. Internally Opus resamples everything to 48 kHz anyway, so choosing 48000 HZ costs you nothing.
Yes, once — this is a re-encode, not a copy. The source audio is decoded and re-compressed with Opus, so a small amount of detail is discarded even at high bitrates. In practice it rarely matters here: camera and dashcam audio is usually already low-bitrate AAC, PCM at 8 kHz, or ADPCM, and 64 kbps Opus preserves everything those sources actually captured. If you need a bit-faithful copy of the original samples, extract to an uncompressed target such as MKV to WAV instead.
Yes. Expand Trim in Advanced Options, switch it off Unchanged, then enter a Start time and a Duration. Both accept plain seconds or HH:MM:SS.sss. Trimming happens before encoding, so a 30-second extract from a two-hour file finishes in a fraction of the time and produces a correspondingly small .opus. Note that trimming needs real timestamps, so it works on container sources — a raw elementary stream has none.
It is uploaded over an encrypted connection, converted on our servers, and deleted automatically after a few hours. Files are never shared, never made public, and never used for anything but your conversion. There is no sign-up, no watermark, and no account required to download the result.