View Source Membrane.RTC.Engine.Endpoint.HLS (Membrane RTC Engine v0.5.1)

An Endpoint responsible for converting incoming tracks to HLS playlist.

This module requires the following plugins to be present in your mix.exs:

  • membrane_http_adaptive_stream_plugin,
  • membrane_mp4_plugin,
  • membrane_aac_plugin,
  • membrane_aac_fdk_plugin,

bin-options

Bin options

Passed via struct Membrane.RTC.Engine.Endpoint.HLS.t/0

  • rtc_engine

    pid()

    Required
    Pid of parent Engine

  • output_directory

    Path.t()

    Default value: "hls_output"
    Path to directory under which HLS output will be saved

  • owner

    pid()

    Required
    Pid of parent all notifications will be send to.

    These notifications are:

    • {:playlist_playable, content_type, stream_id}
    • {:cleanup, clean_function, stream_id}
  • hls_mode

    :separate_av | :muxed_av

    Default value: :separate_av
    Defines output mode for Membrane.HTTPAdaptiveStream.SinkBin.

    • :separate_av - audio and video tracks will be separated
    • :muxed_av - audio will be attached to every video track
  • target_window_duration

    Membrane.Time.t() | :infinity

    Default value: 20000000000
    Max duration of stream that will be stored. Segments that are older than window duration will be removed.

pads

Pads

input

:input

Availability :on_request
Caps :any
Demand unit :buffers
Direction :input
Mode :pull
Name :input

Link to this section Summary

Types

t()

Struct containing options for Membrane.RTC.Engine.Endpoint.HLS

Functions

Returns pads descriptions for Membrane.RTC.Engine.Endpoint.HLS

Returns description of options available for this module

Link to this section Types

@type t() :: %Membrane.RTC.Engine.Endpoint.HLS{
  hls_mode: :separate_av | :muxed_av,
  output_directory: Path.t(),
  owner: pid(),
  rtc_engine: pid(),
  target_window_duration: Membrane.Time.t() | :infinity
}

Struct containing options for Membrane.RTC.Engine.Endpoint.HLS

Link to this section Functions

@spec membrane_pads() :: [{Membrane.Pad.name_t(), Membrane.Pad.description_t()}]

Returns pads descriptions for Membrane.RTC.Engine.Endpoint.HLS

@spec options() :: keyword()

Returns description of options available for this module