Callaba

Transcoding vs Encoding: Encode, Transmux or Package? | Callaba

Aug 08, 2026

Encoding creates compressed media from an uncompressed or production source. Transcoding decodes an already encoded stream and encodes it again with changed media properties. Transrating changes bitrate, usually through transcoding; transmuxing moves compatible encoded packets into a different container without re-encoding. Packaging then organizes media for a delivery protocol such as HLS or DASH. Naming the exact job prevents unnecessary quality loss and compute.

Four media jobs that are often called “encoding”

Encoding, transcoding, transmuxing and packaging paths A raw source enters an encoder. Existing encoded media can either pass through a remux path without decode, or enter a decoder, filters and a new encoder. The selected encoded outputs are finally packaged for delivery. RAW SOURCEcamera · frames · audio FIRST ENCODEcodec · bitrate · GOP ENCODED INPUTcompressed tracks TRANSCODEdecode · filterencode new tracksquality + compute cost REMUX / COPYno media decodenew containercompatibility required PACKAGE + DELIVERHLS · DASH · MPEG-TSmanifests · segmentsor protocol output
Transcoding contains a decode-and-encode cycle. A remux path preserves compatible encoded packets and changes their wrapper or output transport.

Callaba already exposes the transformation decision

Callaba Restreams accept documented live and URL inputs, deliver to supported destinations, and make transcoding, media changes and overlays optional. The available controls include video and audio codec, profile, bitrate, frame rate, dimensions, GOP, tracks, channels and hardware-acceleration settings. Web Player and File Manager can also invoke supported transcoding for delivery or managed derivatives. This does not guarantee that every input/output codec pair, device profile or quality target is valid.

Required resultCallaba actionProof after start
Unchanged compatible mediaLeave optional transcoding and filters off; choose the documented pass-through or remux pathOutput codec, timestamps, tracks and destination decode match the contract
Changed live outputSet only the required video, audio, overlay or protocol properties in RestreamsRuntime speed and capacity stay healthy; the destination accepts the result
New file derivativeUse File Manager to create the selected output format or transcoded assetInspect duration, tracks, quality, file integrity and intended player compatibility

The workflow is implemented, not merely a future possibility. The useful adjacent feature is an operator-visible transformation plan that labels every track as copy, remux, transrate, transcode or drop, estimates capacity, and compares the running output with the declared contract.

Encoding is the first compressed representation

A camera sensor, baseband interface, graphics renderer or decoded production timeline produces raw or lightly processed media. An encoder turns that input into compressed video or audio using a codec and parameters such as profile, level, bitrate control, frame rate, resolution, GOP structure, chroma format, bit depth, sample rate and channel layout.

The first encode has no earlier compressed bitstream to preserve. Its choices shape every downstream transcode. Severe macroblocking, clipped audio or a poor keyframe structure cannot be recovered merely by assigning a larger output bitrate later.

Transcoding decodes and encodes again

The official FFmpeg documentation defines transcoding as decoding a stream and encoding it again. That cycle is required for a codec change and for pixel-domain work such as scaling, deinterlacing, compositing or burned-in graphics. Audio mixing and resampling likewise require decoded samples.

Every lossy generation can change picture or sound. Keep a measurable reason for it: an unsupported codec, a delivery ladder, a device limit, a required overlay, a normalized audio layout or a constrained bitrate. “Transcode for safety” often adds another failure mode instead.

Transrating and resizing are narrower transcode jobs

Transrating produces a different bitrate, commonly while retaining the codec family. The decoder still reconstructs the source frames and a new encoder spends a new bitrate budget. Resizing changes dimensions; frame-rate conversion changes cadence. Those operations can be combined, but each should be visible in the output specification.

An adaptive ladder is several coordinated output encodes, not one slider. Renditions need aligned keyframes, compatible timestamps, sensible resolution-to-bitrate choices and audio/rendition relationships that the packager and player understand.

Transmuxing changes the wrapper without recompressing media

A demuxer reads tracks from the input container; a muxer writes selected encoded packets into the output container or transport. FFmpeg calls the no-decode path streamcopy. It is fast and avoids generation loss, but only when the target accepts the codec, extradata, timing, track layout and other constraints.

Moving H.264 and AAC from one compatible wrapper into MPEG-TS or fragmented MP4 can be a remux. Changing H.264 to HEVC is a transcode. Replacing stereo AAC with Opus transcodes audio even if video is copied. State decisions per stream.

Packaging is not automatically transcoding

HLS and DASH packagers create manifests and media segments from compatible encoded tracks. They may copy those tracks, or sit after a transcoder that generated a ladder. Segment boundaries, initialization data, encryption signaling and rendition metadata are packaging responsibilities even when no pixels are re-encoded.

The codec and container guide owns that distinction. The video codec owner compares codec families. This page decides whether an operational pipeline needs a new encoding generation.

Example: a relay becomes unstable after “quality settings” are enabled

The source and destination both accept H.264/AAC, but a copied job template enables a new 1080p encode on a CPU-only node. Output speed falls below real time and frames begin arriving late. The first evidence is the job's track plan and encode speed compared with the earlier pass-through run. The root cause is unnecessary transcoding at the processing boundary—not SRT or RTMP transport merely because the destination disconnects.

Capacity follows decoded pixels and output count

Estimate work from input decode, filters, output resolution, frame rate, codec, encoder preset, bit depth, hardware path and the number of renditions. Audio and overlays add work, and memory transfer can limit hardware acceleration. Benchmark a representative programme; a static slide and high-motion sports feed do not stress an encoder identically.

Monitor per-output speed, frame progress, dropped or duplicated frames, device utilization, queue delay and output bitrate. Reserve headroom for source changes and recovery. A process reporting input bitrate while encode speed remains below real time is not healthy.

An acceptance worksheet for every output

  1. Probe the source. Record container, tracks, codecs, profile, dimensions, cadence, bitrate, timestamps and audio layout.
  2. Write the destination contract. Include protocol, container, supported codecs, rendition ladder, GOP, audio and latency.
  3. Label each track operation. Copy, remux, transrate, transcode, mix, filter or drop.
  4. Benchmark the exact job. Run representative motion and duration on the intended hardware.
  5. Inspect media, not only process state. Decode the destination, change renditions and verify audio and captions.
  6. Exercise recovery. Restart source and process, then confirm timestamps and downstream acceptance.

Use the current product owners, not a dead generic route

The active Callaba handoff is the Live Video Transcoding product page for capability and the Restreams API for live pipeline control. Managed files and derivatives belong to the File Manager guide. The older generic /video-transcoding owner is absent from the current public sitemap and must not be used as an internal link.

Encoding versus transcoding FAQ

Is changing bitrate always transcoding?

For ordinary compressed video, producing a new bitrate requires decode and encode and is therefore transrating through transcoding. Merely declaring a different transport bandwidth does not change the encoded media.

Does changing MP4 to HLS require re-encoding?

Not necessarily. Compatible video and audio can often be remuxed and packaged into HLS. Codec, profile, timing, GOP and track compatibility decide.

Does hardware acceleration remove quality loss?

No. It changes where encoding work runs and its speed/capacity profile. A lossy re-encode still creates a new representation whose quality must be measured.

When should I copy instead of transcode?

Copy when the encoded tracks already satisfy the destination and packaging contract and no pixel- or sample-domain change is needed. Verify the actual receiver before production.

Define the required live transformation Configure the exact Restream track plan Create and inspect a file derivative