# mp4mux

Multiplex audio and video into a MP4 file

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstAggregator
                        ╰──GstBaseQTMux
                            ╰──mp4mux

## Implemented interfaces

    GstTagSetter
    GstTagXmpWriter
    GstPreset

## Factory details

Authors: – Thiago Sousa Santos

Classification: – `Codec/Muxer`

Rank – primary

Plugin – isomp4

Package – GStreamer Good Plug-ins

## Pad Templates

### `audio_%u`

    audio/mpeg:
        mpegversion: 1
              layer: [ 1, 3 ]
           channels: [ 1, 2 ]
               rate: [ 1, 2147483647 ]
    audio/mpeg:
        mpegversion: 4
      stream-format: raw
           channels: [ 1, 8 ]
               rate: [ 1, 2147483647 ]
    audio/x-ac3:
           channels: [ 1, 6 ]
               rate: [ 1, 2147483647 ]
    audio/x-alac:
           channels: [ 1, 2 ]
               rate: [ 1, 2147483647 ]
    audio/x-opus:
    channel-mapping-family: [ 0, 255 ]
           channels: [ 1, 8 ]
               rate: [ 1, 2147483647 ]

Presence – request

Direction – sink

Object type – GstQTMuxPad

### `src`

    video/quicktime:
            variant: iso

Presence – always

Direction – src

Object type – GstAggregatorPad

### `subtitle_%u`

    text/x-raw:
             format: utf8

Presence – request

Direction – sink

Object type – GstQTMuxPad

### `video_%u`

    video/mpeg:
        mpegversion: 4
       systemstream: false
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-divx:
        divxversion: 5
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-h264:
      stream-format: { (string)avc, (string)avc3 }
          alignment: au
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-h265:
      stream-format: { (string)hvc1, (string)hev1 }
          alignment: au
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-mp4-part:
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-av1:
      stream-format: obu-stream
          alignment: tu
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]
    video/x-vp9:
            profile: { (string)0, (string)1, (string)2, (string)3 }
      chroma-format: { (string)4:2:0, (string)4:2:2, (string)4:4:4 }
              width: [ 16, 2147483647 ]
             height: [ 16, 2147483647 ]

Presence – request

Direction – sink

Object type – GstQTMuxPad

## Properties

### streamable

    “streamable” gboolean

If set to true, the output should be as if it is to be streamed and hence no indexes written or duration written. (DEPRECATED, only valid for fragmented MP4)

Flags : Read / Write / Construct

Default value : false

The results of the search are