## matroskamux matroskamux |

## Properties

gchar * | writing-app | Read / Write
gint | version | Read / Write
gint64 | min-index-interval | Read / Write
gboolean | streamable | Read / Write
gint64 | timecodescale | Read / Write
gint64 | max-cluster-duration | Read / Write
gint64 | min-cluster-duration | Read / Write

## Types and Values

struct | GstMatroskaMux

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstMatroskaMux
                        ╰── GstWebMMux

## Implemented Interfaces

GstMatroskaMux implements GstTagSetter and GstTocSetter.

## Description

matroskamux muxes different input streams into a Matroska file.

### Example launch line

    1
    gst-launch-1.0 -v filesrc location=/path/to/mp3 ! mpegaudioparse ! matroskamux name=mux ! filesink location=test.mkv  filesrc location=/path/to/theora.ogg ! oggdemux ! theoraparse ! mux.

This pipeline muxes an MP3 file and a Ogg Theora video into a Matroska file.

    1
    gst-launch-1.0 -v audiotestsrc num-buffers=100 ! audioconvert ! vorbisenc ! matroskamux ! filesink location=test.mka

This pipeline muxes a 440Hz sine wave encoded with the Vorbis codec into a Matroska file.

## Synopsis

### Element Information

plugin | matroska
author | GStreamer maintainers <gstreamer-devel@lists.freedesktop.org>
class | Codec/Muxer

### Element Pads

name | audio_%u
direction | sink
presence | request
details | audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/mpeg, mpegversion=(int){ 2, 4 }, stream-format=(string)raw, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-ac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-eac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-dts, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-vorbis, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-flac, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-opus
| audio/x-speex, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-raw, format=(string){ U8, S16BE, S16LE, S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }, layout=(string)interleaved, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-tta, width=(int){ 8, 16, 24 }, channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]
| audio/x-pn-realaudio, raversion=(int){ 1, 2, 8 }, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-wma, wmaversion=(int)[ 1, 3 ], block_align=(int)[ 0, 65535 ], bitrate=(int)[ 0, 524288 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
| audio/x-alaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]
| audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]
| audio/x-adpcm, layout=(string)dvi, block_align=(int)[ 64, 8192 ], channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]
| audio/G722, channels=(int)1, rate=(int)16000
| audio/x-adpcm, layout=(string)g726, channels=(int)1, rate=(int)8000

name | subtitle_%u
direction | sink
presence | request
details | subtitle/x-kate
| text/x-raw, format=(string)utf8
| application/x-ssa
| application/x-ass
| application/x-usf
| subpicture/x-dvd
| application/x-subtitle-unknown

name | video_%u
direction | sink
presence | request
details | video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-h265, stream-format=(string)hvc1, alignment=(string)au, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-divx, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-huffyuv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-dv, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-h263, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-msmpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| image/jpeg, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-theora
| video/x-dirac, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-vp8, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-vp9, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV, GRAY8, BGR, RGB }, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-prores, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]
| video/x-av1, width=(int)[ 16, 2147483647 ], height=(int)[ 16, 2147483647 ]

name | src
direction | source
presence | always
details | video/x-matroska
| video/x-matroska-3d
| audio/x-matroska

## Functions

## Types and Values

### struct GstMatroskaMux

    struct GstMatroskaMux;

## Property Details

### The `“writing-app”` property

      “writing-app”              gchar *

The name the application that creates the matroska file.

Flags: Read / Write

Default value: NULL

### The `“version”` property

      “version”                  gint

This parameter determines what Matroska features can be used.

Flags: Read / Write

Allowed values: [1,2]

Default value: 2

### The `“min-index-interval”` property

      “min-index-interval”       gint64

An index entry is created every so many nanoseconds.

Flags: Read / Write

Allowed values: >= 0

Default value: 0

### The `“streamable”` property

      “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.

Flags: Read / Write

Default value: FALSE

### The `“timecodescale”` property

      “timecodescale”            gint64

TimecodeScale used to calculate the Raw Timecode of a Block.

Flags: Read / Write

Allowed values: [1,1000000000]

Default value: 1000000

### The `“max-cluster-duration”` property

      “max-cluster-duration”     gint64

A new cluster will be created if its duration exceeds this value. 0 means no maximum duration.

Flags: Read / Write

Allowed values: >= 0

Default value: 65535000000

### The `“min-cluster-duration”` property

      “min-cluster-duration”     gint64

Desidered cluster duration as nanoseconds. A new cluster will be created irrespective of this property if a force key unit event is received. 0 means create a new cluster for each video keyframe or for each audio buffer in audio only streams.

Flags: Read / Write

Allowed values: >= 0

Default value: 500000000