flvmux
flvmux muxes different streams into an FLV file.
Example launch line
gst-launch-1.0 -v flvmux name=mux ! filesink location=test.flv audiotestsrc samplesperbuffer=44100 num-buffers=10 ! faac ! mux. videotestsrc num-buffers=250 ! video/x-raw,framerate=25/1 ! x264enc ! mux.
This pipeline encodes a test audio and video stream and muxes both into an FLV file.
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstAggregator ╰──flvmux
Factory details
Authors: – Sebastian Dröge
Classification: – Codec/Muxer
Rank – primary
Plugin – gstflv
Package – GStreamer Good Plug-ins
Pad Templates
audio
audio/x-adpcm:
layout: swf
channels: { (int)1, (int)2 }
rate: { (int)5512, (int)11025, (int)22050, (int)44100 }
audio/mpeg:
mpegversion: 1
layer: 3
channels: { (int)1, (int)2 }
rate: { (int)5512, (int)8000, (int)11025, (int)22050, (int)44100 }
parsed: true
audio/mpeg:
mpegversion: { (int)4, (int)2 }
stream-format: raw
audio/x-nellymoser:
channels: { (int)1, (int)2 }
rate: { (int)5512, (int)8000, (int)11025, (int)16000, (int)22050, (int)44100 }
audio/x-raw:
format: { U8, S16LE }
layout: interleaved
channels: { (int)1, (int)2 }
rate: { (int)5512, (int)11025, (int)22050, (int)44100 }
audio/x-alaw:
channels: { (int)1, (int)2 }
rate: 8000
audio/x-mulaw:
channels: { (int)1, (int)2 }
rate: 8000
audio/x-speex:
channels: 1
rate: 16000
video
video/x-flash-video:
video/x-flash-screen:
video/x-vp6-flash:
video/x-vp6-alpha:
video/x-h264:
stream-format: avc
Properties
encoder
“encoder” gchararray
The value of encoder in the meta packet.
Flags : Read / Write
Default value : GStreamer 1.17.1 FLV muxer
latency
“latency” guint64
Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)
Flags : Read / Write
Default value : 0
metadatacreator
“metadatacreator” gchararray
The value of metadatacreator in the meta packet.
Flags : Read / Write
Default value : GStreamer 1.17.1 FLV muxer
min-upstream-latency
“min-upstream-latency” guint64
When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)
Flags : Read / Write
Default value : 0
skip-backwards-streams
“skip-backwards-streams” gboolean
If set to true, streams that go backwards related to the other stream will have buffers dropped until they reach the correct timestamp
Flags : Read / Write
Default value : false
start-time
“start-time” guint64
Start time to use if start-time-selection=set
Flags : Read / Write
Default value : 18446744073709551615
start-time-selection
“start-time-selection” GstAggregatorStartTimeSelection *
Decides which start time is output
Flags : Read / Write
Default value : zero (0)
streamable
“streamable” gboolean
If True, the output will be streaming friendly. (ie without indexes and duration)
Flags : Read / Write
Default value : false
GstFlvMuxPad
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstPad ╰──GstAggregatorPad ╰──GstFlvMuxPad
Signals
buffer-consumed
buffer_consumed_callback (GstElement * param_0, GstBuffer * arg0, gpointer udata)
def buffer_consumed_callback (param_0, arg0, udata):
#python callback for the 'buffer-consumed' signal
function buffer_consumed_callback(param_0: GstElement * param_0, arg0: GstBuffer * arg0, udata: gpointer udata): {
// javascript callback for the 'buffer-consumed' signal
}
Parameters:
param_0
–
arg0
–
udata
–
Flags: Run First
Properties
emit-signals
“emit-signals” gboolean
Send signals to signal data consumption
Flags : Read / Write
Default value : false
The results of the search are