webmmux

webmmux muxes VP8 video and Vorbis audio streams into a WebM file.

Example launch line

 gst-launch-1.0 webmmux name=mux ! filesink location=newfile.webm         \
   uridecodebin uri=file:///path/to/somefile.ogv name=demux                \
   demux. ! videoconvert ! vp8enc ! queue ! mux.video_0    \
   demux. ! progressreport ! audioconvert ! audiorate ! vorbisenc ! queue ! mux.audio_0

This pipeline re-encodes a video file of any format into a WebM file.

 gst-launch-1.0 webmmux name=mux ! filesink location=test.webm            \
   videotestsrc num-buffers=250 ! video/x-raw,framerate=25/1 ! videoconvert ! vp8enc ! queue ! mux.video_0 \
   audiotestsrc samplesperbuffer=44100 num-buffers=10 ! audio/x-raw,rate=44100 ! vorbisenc ! queue ! mux.audio_0

This pipeline muxes a test video and a sine wave into a WebM file.

Hierarchy

GObject
    ╰──GInitiallyUnowned
        ╰──GstObject
            ╰──GstElement
                ╰──GstMatroskaMux
                    ╰──webmmux

Factory details

Authors: – GStreamer maintainers

Classification:Codec/Muxer

Rank – primary

Plugin – gstmatroska

Package – GStreamer Good Plug-ins

Pad Templates

audio_%u

audio/x-vorbis:
       channels: [ 1, 2147483647 ]
           rate: [ 1, 2147483647 ]
audio/x-opus:
       channels: [ 1, 2147483647 ]
           rate: [ 1, 2147483647 ]

Presencerequest

Directionsink

Object typeGstPad


src

video/webm:
audio/webm:

Presencealways

Directionsrc

Object typeGstPad


subtitle_%u

subtitle/x-kate:
text/x-raw:
         format: utf8
application/x-ssa:
application/x-ass:
application/x-usf:
subpicture/x-dvd:
application/x-subtitle-unknown:

Presencerequest

Directionsink

Object typeGstPad


video_%u

video/x-vp8:
          width: [ 16, 2147483647 ]
         height: [ 16, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
video/x-vp9:
          width: [ 16, 2147483647 ]
         height: [ 16, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
video/x-av1:
          width: [ 16, 2147483647 ]
         height: [ 16, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]

Presencerequest

Directionsink

Object typeGstPad


Properties

creation-time

“creation-time” GDateTime *

Date and time of creation. This will be used for the DateUTC field. NULL means that the current time will be used.

Flags : Read / Write


max-cluster-duration

“max-cluster-duration” gint64

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

Flags : Read / Write

Default value : 65535000000


min-cluster-duration

“min-cluster-duration” gint64

Desired 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

Default value : 500000000


min-index-interval

“min-index-interval” gint64

An index entry is created every so many nanoseconds.

Flags : Read / Write

Default value : 0


offset-to-zero

“offset-to-zero” gboolean

Offsets all streams so that the earliest stream starts at 0.

Flags : Read / Write

Default value : false


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.

Flags : Read / Write

Default value : false


timecodescale

“timecodescale” gint64

TimecodeScale used to calculate the Raw Timecode of a Block

Flags : Read / Write

Default value : 1000000


version

“version” gint

This parameter determines what Matroska features can be used.

Flags : Read / Write

Default value : 2


writing-app

“writing-app” gchararray

The name the application that creates the matroska file.

Flags : Read / Write

Default value : GStreamer Matroska muxer


The results of the search are