Convert MTS to 3GPP — Free Online Tool

Convert AVCHD footage from Sony or Panasonic camcorders (MTS files) to 3GPP format, re-encoding the H.264 video and AC-3/AAC audio into a mobile-optimized container designed for 3G-compatible playback. Ideal for sharing camcorder recordings on older mobile devices or low-bandwidth networks.

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

MTS files use the MPEG-2 Transport Stream container with H.264 video and either AC-3 or AAC audio — a format optimized for broadcast and camcorder reliability rather than mobile playback. During this conversion, the H.264 video stream is re-encoded using libx264 with a CRF of 23 to produce a fresh, 3GPP-compliant H.264 stream, since the original MTS H.264 may use profiles or bitrates unsuitable for mobile devices. The audio is transcoded to AAC at 64k, a low bitrate well-suited to 3GPP's mobile-first design. The output container switches from MPEG-2 Transport Stream to 3GPP (a variant of the ISOBMFF/MP4 family), and the -movflags +faststart flag reorganizes the file's metadata to the front, enabling progressive playback on mobile networks before the full file downloads. Note that MTS features like multiple audio tracks, subtitles, and chapter markers are not supported by 3GPP and will be dropped during conversion.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary. This is the open-source multimedia framework that performs all decoding, re-encoding, and container rewrapping for this conversion entirely within your browser via WebAssembly.
-i input.mts Specifies the input AVCHD file in MPEG-2 Transport Stream format, as recorded by Sony or Panasonic camcorders. FFmpeg will demux the H.264 video and AC-3 or AAC audio streams from this container for re-encoding.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, producing a mobile-compatible H.264 stream suited to the 3GPP container. The original MTS H.264 stream is not simply copied because its profile and bitrate may exceed what 3G devices can decode.
-c:a aac Transcodes the audio to AAC using FFmpeg's built-in AAC encoder, which is the primary audio codec required by the 3GPP specification. If the source MTS uses AC-3 (Dolby Digital), this step is mandatory since AC-3 is not a valid audio codec in a 3GPP file.
-crf 23 Sets the Constant Rate Factor for the libx264 re-encode to 23, the middle of the 3GPP-appropriate CRF range (18–28). This balances visual quality and file size for mobile delivery, producing significantly smaller output than the original high-bitrate AVCHD recording.
-b:a 64k Sets the AAC audio bitrate to 64 kilobits per second, the default for 3GPP output. This bitrate is sufficient for intelligible speech and moderate-quality stereo audio on mobile devices, and keeps the overall file size compact for 3G network delivery.
-movflags +faststart Moves the 3GPP file's metadata atom (moov) to the beginning of the file after encoding, enabling mobile players and streaming clients to begin playback before the full file has been downloaded — critical for delivery over slow 3G mobile connections.
output.3gp Specifies the output filename with the .3gp extension, which instructs FFmpeg to write the result in the 3GPP container format as defined by the Third Generation Partnership Project for mobile multimedia delivery.

Common Use Cases

  • Sharing family event footage shot on a Sony or Panasonic camcorder with a relative who can only play video on an older 3G-era mobile phone
  • Distributing camcorder-recorded video content over a low-bandwidth 3G mobile network where file size and streaming compatibility are critical constraints
  • Preparing AVCHD camcorder clips for upload to a legacy mobile media platform or MMS messaging system that requires 3GPP format
  • Archiving a trimmed, mobile-compatible version of camcorder footage for playback on basic Android or feature phone devices without relying on desktop software
  • Converting MTS event recordings for use in a mobile presentation or kiosk application that accepts only 3GPP video files
  • Reducing the large bitrate of AVCHD camcorder footage to a compact 3GPP file for embedding in a mobile web page targeting 3G users

Frequently Asked Questions

No — AC-3 (Dolby Digital) audio is not supported by the 3GPP container, so it will be transcoded to AAC at 64k during conversion. This is actually the standard behavior for 3GPP files, since AAC is the primary audio codec defined by the 3GPP specification and is well-supported across mobile devices. You will lose the AC-3 surround sound, but the resulting AAC stereo track is far more compatible with the target devices.
MTS files from AVCHD camcorders typically record at high bitrates — often 17–24 Mbps for HD footage — to ensure broadcast-quality capture. The 3GPP format is intentionally optimized for low-bandwidth mobile delivery, and the re-encoding at CRF 23 with a 64k audio bitrate produces a significantly lower overall bitrate. The file size reduction is substantial, but this comes with a corresponding reduction in video and audio fidelity compared to the original camcorder recording.
No. The 3GPP format does not support subtitles or multiple audio tracks, so both of these features will be silently dropped during conversion. If your MTS file contains multiple audio tracks (for example, a secondary microphone channel recorded by some Panasonic models), only the first audio track will be included in the 3GPP output. If preserving multiple tracks or subtitles is important, consider converting to MP4 instead.
By default, FFmpeg writes the MP4/3GPP metadata atom (called 'moov') at the end of the file after encoding finishes. The +faststart flag moves this atom to the beginning of the file in a second pass, which allows mobile players and web browsers to begin streaming or playing the video before the entire file has been downloaded. This is especially valuable for 3GPP files because they are designed for delivery over slow 3G mobile networks where progressive playback is critical to user experience.
You can raise the CRF value to reduce file size at the cost of quality — for 3GPP output, valid CRF values range from 18 (higher quality, larger file) to 28 (lower quality, smaller file). For example, changing -crf 23 to -crf 28 will produce a noticeably smaller file suitable for very constrained mobile delivery. You can also lower the audio bitrate by changing -b:a 64k to -b:a 48k or -b:a 32k for further size reduction, though audio quality will degrade at 32k.
Yes — on Linux or macOS you can loop over all MTS files in a directory with: for f in *.mts; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "${f%.mts}.3gp"; done. On Windows Command Prompt, use: for %f in (*.mts) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 64k -movflags +faststart "%~nf.3gp". The online tool processes one file at a time, so the FFmpeg command is particularly useful for batch processing large collections of camcorder clips.

Technical Notes

The MTS-to-3GPP conversion involves a full re-encode of both video and audio streams — there is no remuxing shortcut available here, because the MPEG-2 Transport Stream container and the ISOBMFF-derived 3GPP container are structurally incompatible. The H.264 video in an MTS file often uses High Profile at high bitrates with VBR encoding tuned for camcorder capture; the re-encoded output uses libx264 in a Baseline or Main Profile configuration more appropriate for mobile devices. The 3GPP format's CRF range is constrained to 18–28 (compared to libx264's full 0–51 range) to keep output within mobile-appropriate quality bounds. Audio is always transcoded to AAC regardless of whether the source MTS uses AAC or AC-3, since 3GPP mandates AAC as its primary audio codec. Metadata from the AVCHD recording — including GPS coordinates embedded by some camcorders, recording date/time, and camera model — may not be preserved in the 3GPP output due to differences in how each container handles metadata atoms. The -movflags +faststart flag is mandatory for practical mobile use, as it ensures the 3GPP file is streamable over progressive HTTP delivery on 3G networks.

Related Tools