Convert TS to 3G2 — Free Online Tool

Convert MPEG-2 Transport Stream (TS) files to 3G2 format, re-encoding broadcast video with H.264 and AAC into a compact mobile container optimized for CDMA networks. This is ideal for repurposing broadcast or streaming captures into a format compatible with older mobile devices and 3GPP2-based applications.

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

TS files carry H.264, H.265, or other video streams alongside AAC or AC-3 audio wrapped in a transport stream container designed for broadcast reliability. Because 3G2 only supports a limited codec set (H.264 video and AAC or MP3 audio) and uses a different container structure derived from MPEG-4 Part 12, the conversion always requires a full remux and potentially a transcode. If the TS source already contains H.264 video and AAC audio — the most common broadcast configuration — the codec streams are re-encoded to ensure clean packaging into the 3G2 container. The -movflags +faststart flag reorganizes the file's metadata index to the beginning of the output file, which is critical for progressive playback and mobile streaming over slow CDMA connections. Subtitles, multiple audio tracks, and chapter data present in the TS source are all dropped, since 3G2 does not support these features.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. This is the same underlying engine running in your browser via FFmpeg.wasm (WebAssembly), so the command shown is directly portable to a local FFmpeg installation for processing files larger than 1GB.
-i input.ts Specifies the input MPEG-2 Transport Stream file. FFmpeg reads the TS container and demuxes its video, audio, and any subtitle or additional audio streams for processing.
-c:v libx264 Encodes the output video stream using the H.264 codec via libx264. This is required because 3G2 does not support H.265, VP9, or other codecs that may be present in the source TS file — H.264 is the primary video codec supported by the 3GPP2 mobile standard.
-c:a aac Encodes the output audio stream using AAC, which is the default and most compatible audio codec for 3G2. This replaces any non-AAC audio from the TS source, such as AC-3 surround sound common in broadcast transport streams, with a mobile-appropriate stereo AAC track.
-crf 23 Sets the Constant Rate Factor for H.264 video quality at 23, which is the default visually transparent quality level for libx264. For broadcast TS content that will be delivered over mobile networks, CRF 23 balances file size and quality well; lower values like 18 would increase quality and file size, while higher values like 28 would produce a more aggressively compressed 3G2 file suited to very low-bandwidth delivery.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second. This is a standard quality level for mobile audio delivery and is appropriate for the low-bandwidth CDMA environments that 3G2 was designed for. The TS source may contain higher-bitrate AC-3 or multi-channel audio, which will be downmixed and encoded at this target rate.
-movflags +faststart Moves the moov atom (the container's metadata and index structure) to the beginning of the 3G2 file after encoding. This enables progressive playback and streaming over mobile networks — without this flag, a CDMA device would need to fully download the 3G2 file before it could start playing, which is impractical on slow mobile connections.
output.3g2 Specifies the output filename with the .3g2 extension, which signals to FFmpeg to use the 3G2 muxer. This extension is specifically associated with the 3GPP2 mobile multimedia container format, distinct from the closely related .3gp format used by 3GPP (GSM-based) networks.

Common Use Cases

  • Repurposing a recorded broadcast TV segment (captured as a TS file from a DVB or ATSC tuner) into a compact 3G2 clip for playback on a legacy CDMA mobile device
  • Converting HLS or IPTV transport stream recordings to 3G2 for archival or distribution over older mobile content delivery platforms that require 3GPP2-compatible files
  • Preparing short video news clips originally recorded in TS format for submission to a mobile media portal or CDMA carrier content store that mandates 3G2 delivery
  • Trimming and converting a TS broadcast capture to 3G2 to share a video segment with users on feature phones or early-generation smartphones that cannot play TS files natively
  • Reducing the file size of a large TS recording from a set-top box DVR by converting it to the lower-bitrate-optimized 3G2 container for storage-constrained mobile environments

Frequently Asked Questions

Yes, some quality loss is expected because this is a lossy-to-lossy conversion. The video is re-encoded from whatever codec was used in the TS (such as H.264, H.265, or MPEG-2) into H.264 at CRF 23, and the audio is encoded to AAC at 128k bitrate. CRF 23 is a visually transparent quality level for most content, but any time you re-encode, you are doing a generational encode that slightly degrades quality compared to the source. If your TS source already contains H.264 video, you can avoid video quality loss by using stream copy (-c:v copy) in a custom FFmpeg command, though this only works if the existing H.264 stream is 3G2-compatible.
The 3G2 container format, designed for constrained CDMA mobile delivery, does not support embedded subtitles or multiple audio track streams. Unlike the TS container — which is built for broadcast and explicitly supports multiple audio tracks (for multilingual content) and subtitle streams — 3G2 is a stripped-down mobile format. The conversion selects the default video and audio stream from the TS and discards everything else. If preserving subtitles or alternate language tracks is important, 3G2 is not the right target format for your use case.
The -movflags +faststart flag moves the moov atom (the file's metadata and index table) from the end of the file to the beginning. By default, FFmpeg writes the moov atom at the end after all media data is written, meaning a player must download the entire file before it can begin playback. With +faststart, the moov atom is relocated to the front, enabling progressive download and immediate playback — a critical feature for 3G2 files intended to stream over low-bandwidth CDMA mobile networks where buffering the entire file first is impractical.
Because 3G2 does not support H.265/HEVC, the video stream must be fully transcoded from H.265 to H.264 during conversion. This is computationally intensive and will take significantly longer than converting an H.264 source TS. The resulting H.264 stream at CRF 23 will still look good, but expect the process to be slow for long recordings. If your TS file also used AC-3, EAC-3, or Opus audio (common in HEVC broadcasts), those audio tracks will be transcoded to AAC 128k as well.
To control video quality, change the -crf value: lower numbers (e.g., -crf 18) produce higher quality and larger files, while higher numbers (e.g., -crf 28) produce smaller files with more visible compression artifacts. The valid range for H.264 is 0 to 51. To adjust audio quality, change the -b:a value — for example, use -b:a 96k for smaller files or -b:a 192k for better audio fidelity, keeping in mind that 3G2 was designed for low-bitrate mobile delivery, so very high audio bitrates are rarely justified for this format.
Yes. On Linux or macOS, you can use a shell loop: for f in *.ts; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.ts}.3g2"; done. On Windows Command Prompt, use: for %f in (*.ts) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.3g2". This is especially useful for batch-converting DVR recordings or a directory of broadcast clips without needing to process them one at a time in the browser tool.

Technical Notes

The TS (MPEG-2 Transport Stream) container is a robust, fault-tolerant format designed for broadcast environments where packet loss can occur; it carries PCR (Program Clock Reference) timing data and supports multi-program streams. None of this broadcast infrastructure translates to 3G2. The output 3G2 file is a single-program, single-audio-track container derived from the MPEG-4 Part 12 base format (sharing lineage with MP4 and MOV), optimized for mobile delivery on CDMA (3GPP2) networks. The codec options in 3G2 are narrow: only H.264 and MJPEG for video, and only AAC or MP3 for audio — so source TS files using H.265, VP9, AC-3, Opus, or FLAC will always require full transcoding. The -movflags +faststart post-processing step adds a small overhead to conversion time as FFmpeg makes a second pass to relocate the moov atom. File sizes for 3G2 output will typically be smaller than the TS source due to the elimination of transport stream overhead bytes and the absence of multi-track data, though the actual size depends heavily on the source codec and the CRF value chosen. Metadata such as broadcast timestamps, program information, and EPG data embedded in the TS stream are not preserved in the 3G2 output.

Related Tools