View Source Membrane.FLV.Demuxer (Membrane FLV Plugin v0.8.0)
Element for demuxing FLV streams into audio and video streams. FLV format supports only one video and audio stream. They are optional however, FLV without either audio or video is also possible.
When a new FLV stream is detected, you will be notified with Membrane.FLV.Demuxer.new_stream_notification()
.
If you want to pre-link the pipeline and skip handling notifications, make sure use the following output pads:
Pad.ref(:audio, 0)
for audio streamPad.ref(:video, 0)
for video stream
Note
The demuxer implements the Enhanced RTMP specification in terms of parsing. It does NOT support processing of the protocols other than H264 and AAC.
Pads
:input
Accepted formats:
%RemoteStream{content_format: content_format, type: :bytestream} when content_format in [nil, FLV]
Direction: | :input |
Availability: | :always |
Flow control: | :manual |
Demand unit: | :buffers |
:video
Accepted formats:
Membrane.H264.RemoteStream
Direction: | :output |
Availability: | :on_request |
Flow control: | :manual |
Demand unit: | nil |
:audio
Accepted formats:
RemoteStream
Membrane.AAC.RemoteStream
Direction: | :output |
Availability: | :on_request |
Flow control: | :manual |
Demand unit: | nil |
Summary
Types
List of formats supported by the demuxer.
Type of notification that is sent when a new FLV stream is detected.
Types
@type codec_t() :: Membrane.FLV.audio_codec_t() | :H264
List of formats supported by the demuxer.
For video, only H264 is supported Audio codecs other than AAC might not work correctly, although they won't throw any errors.
@type new_stream_notification_t() :: {:new_stream, Membrane.Pad.ref(), codec_t()}
Type of notification that is sent when a new FLV stream is detected.