Format Conversion

Browser download merging, TS/MP4 remuxing, dedicated conversion tools, codec compatibility, and practical storage limits.

FlowPick's browser download and merge workflow uses JavaScript media processing rather than an FFmpeg WASM runtime. This guide distinguishes downloading, remuxing, and re-encoding so you can choose a workflow that matches your source.

Container vs codec

A container, such as MP4, WebM, or MPEG-TS, stores media tracks and timing information. A codec, such as H.264, VP9, or AAC, describes how each track is encoded. Renaming a file does not change either its container or its codec.

Remuxing repackages encoded tracks without intentionally re-encoding them. Transcoding decodes and re-encodes tracks; it can change compatibility, quality, processing time, and file size.

Supported workflows

Source and goalWorkflowWhat changes
HLS with supported TS segments to MP4M3U8 downloaderDemux and remux the supported encoded tracks
HLS with TS outputM3U8 downloader's TS option, when availableWrite supported segments in playback order; no MP4 conversion
Supported DASH video and audio to MP4DASH downloaderParse initialization/media segments and remux tracks
Local TS files to MP4TS to MP4Inspect the selection and convert supported tracks
WebM to compatible MP4WebM to MP4Re-encode supported inputs using the browser's available codecs
Audio output in a different formatAudio converterEncode to the selected supported audio format

The downloaders and the dedicated converters are different workflows. A remuxed MP4 can retain its source codec; the MP4 extension alone does not guarantee that every player can decode it. Dedicated conversion tools check their own codec support and output settings.

How browser merging works

The online downloaders use useStreamMerge to coordinate processing and saving. MPEG-TS processing uses mux.js helpers; supported MP4 and separate-track processing use Mediabunny. These are browser-side code paths, not commands executed inside an FFmpeg virtual filesystem.

For separate audio and video, both selected tracks must be readable and compatible with the output. An initialization segment and valid timestamps are important for fragmented MP4. Missing segments, incompatible track changes, or unsupported codecs can cause an incomplete or failed merge.

See Download engine for staging and output handling, and Video sniffing for HLS/DASH source detection.

Output format selection guide

Choose MP4 when you need supported tracks in one file for playback or editing. Check the codec as well as the extension with the media info analyzer.

Choose TS only when the source and downloader offer that path and your player or next processing step accepts MPEG-TS. It avoids MP4 remuxing, but is not a universal fallback for DASH, arbitrary codecs, or damaged streams.

If a WebM recording is incompatible with your target player, use the dedicated WebM converter rather than renaming its extension. For a recording source, start from the recording workflow.

Memory and performance

Processing time depends on segment count, input codec, source speed, device resources, browser support, and whether encoding is required. There is no fixed conversion speed or universal maximum file size.

Direct file writes can reduce memory pressure, and some paths stage data in browser-managed storage (OPFS). Blob-based fallbacks can still retain substantial data in memory. Storage quota, free disk space, and browser limits remain relevant even when output is streamed. Keep the tab open and start with a small authorized sample.

Limitations and troubleshooting

  • Local tools do not upload selected media files to FlowPick. URL-based tools still contact the source host. Optional cloud transfers are a separate workflow.
  • Browser tools cannot bypass CORS, expired signed URLs, authentication, DRM, or source access controls.
  • Remuxing does not repair missing content or make every codec universally playable.
  • Conversion tools depend on the browser's supported decoders and encoders. Test on your device instead of assuming identical results across browsers.
  • If processing fails, note the tool, browser, source container/codecs, and failing stage. Do not share private URLs or credentials.

See Common issues, Known limitations, and Browser compatibility.