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 stream
  • Pad.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.

Link to this type

new_stream_notification_t()

View Source
@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.