View Source Membrane.RTMP.Sink (Membrane RTMP plugin v0.12.1)

Membrane element being client-side of RTMP streams. To work successfuly it requires to receive both audio and video streams in AAC and H264 format respectively. Currently it supports only:

  • RTMP proper - "plain" RTMP protocol
  • RTMPS - RTMP over TLS/SSL other RTMP variants - RTMPT, RTMPE, RTMFP are not supported. Implementation based on FFmpeg.

element-options

Element options

Passed via struct Membrane.RTMP.Sink.t/0

  • rtmp_url

    String.t()

    Required
    Destination URL of the stream. It needs to start with rtmp:// or rtmps:// depending on the protocol variant. This URL should be provided by your streaming service.

  • max_attempts

    pos_integer() | :infinity

    Default value: 1
    Maximum number of connection attempts before failing with an error. The attempts will happen every 500 ms

pads

Pads

video

:video

Accepted formats:

MP4.Payload
Direction::input
Availability::always
Mode::pull
Demand mode::manual
Demand unit::buffers

audio

:audio

Accepted formats:

AAC
Direction::input
Availability::always
Mode::pull
Demand mode::manual
Demand unit::buffers

Link to this section Summary

Types

t()

Struct containing options for Membrane.RTMP.Sink

Functions

Returns description of options available for this module

Link to this section Types

@type t() :: %Membrane.RTMP.Sink{
  max_attempts: pos_integer() | :infinity,
  rtmp_url: String.t()
}

Struct containing options for Membrane.RTMP.Sink

Link to this section Functions

@spec options() :: keyword()

Returns description of options available for this module