---
name: "esmerge"
section: "1"
platform: "linux"
package: "tstools"
version: "1.13~git20151030-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/esmerge"
---

# esmerge(1)

Merge the contents of two ES to make a TS

## NAME

**esmerge** – Merge the contents of two ES to make a TS

## SYNOPSIS

**esmerge** \[**-err stdout**\] \[**-err stderr**\] \[**-verbose** \| **-v**\] \[**-quiet** \| **-q**\] \[**-x**\] \[**-h264** \| **-avs**\] \[**-vidrate** *video\_hz*\] \[**-rate** *audio\_hz* \| **-cd** \| **-dat**\] \[**-adts** \| **-l2** \| **-mp2adts** \| **-mp4adts** \| **-ac3**\] \[**-patpmtfreq** *pat\_freq*\] *video\_file* *audio\_file* *out\_file*

## DESCRIPTION

Merge the contents of two Elementary Stream (ES) files, one containing video data, and the other audio, to produce an output file containing Transport Stream (TS).

### Files

- *video\_file*

  is the ES file containing video.

- *audio\_file*

  is the ES file containing audio.

- *out\_file*

  is the resultant TS file.

### Switches

- **-err stdout**

  Write error messages to standard output (the default)

- **-err stderr**

  Write error messages to standard error (Unix traditional)

- **-stdin**

  Input from standard input, instead of a file

- **-v**, **-verbose**

  Output extra information about each audio/video frame

- **-q**, **-quiet**

  Only output error messages

- **-x**

  Output diagnostic information.

- **-h264**

  The video stream is H.264 (the default)

- **-avs**

  The video stream is AVS

- **-vidrate** *video\_hz*

  Video frame rate in Hz - defaults to 25Hz.

- **-rate** *audio\_hz*

  Audio sample rate in Hertz - defaults to 44100, i.e., 44.1KHz.

- **-cd**

  Equivalent to **-rate** **44100** (CD rate), the default.

- **-dat**

  Equivalent to **-rate** **48000** (DAT rate).

- **-adts**

  The audio stream is ADTS (the default)

- **-l2**

  The audio stream is MPEG layer 2 audio

- **-mp2adts**

  The audio stream is MPEG-2 style ADTS regardless of ID bit

- **-mp4adts**

  The audio stream is MPEG-4 style ADTS regardless of ID bit

- **-ac3**

  The audio stream is Dolby AC-3 in ATSC

- **-patpmtfreq** *pat\_freq*

  PAT and PMT will be inserted every *pat\_freq* video frames.  By default, *pat\_freq* = 0 and PAT/PMT are inserted only at the start of the output stream.

## SEE ALSO

[esdots(1)](/esdots/1.md),

## BUGS

For the moment, the video input must be H.264 or AVS, and the audio input ADTS, AC-3 ATSC or MPEG layer 2. Also, the audio is assumed to have a constant number of samples per frame.
