View Source Membrane.VideoCompositor (Membrane Video Compositor plugin v0.7.0)
A bin responsible for doing framerate conversion on all input videos and piping them into the compositor element.
Bin options
Passed via struct Membrane.VideoCompositor.t/0
output_stream_formatMembrane.RawVideo.t()Required
Stream format for the output video of the compositorhandlerHandler.t()Required
Module implementing callbacks reacting to VC events. Specifies howMembrane.VideoCompositor.Sceneshould look like. Describes what VC should compose.queuing_strategyQueueingStrategy.t()Default value:
Membrane.VideoCompositor.QueueingStrategy.Offline
Specifies used frames queueing strategymetadatainit_metadata()Default value:
nil
User-specified init metadata passed to handler callbacks. Passing init metadata intoMembrane.VideoCompositor.Handler.handle_init/1callback allows the user to alternate custom-implemented init callback logic.
Pads
:input
Accepted formats:
%RawVideo{pixel_format: :I420}| Direction: | :input |
| Availability: | :on_request |
Pad options:
timestamp_offsetMembrane.Time.non_neg()Default value:
0
Input stream PTS offset in nanoseconds. Must be non-negative.metadatainput_pad_metadata()Default value:
nil
User-specified input stream metadata passed to handler callbacks. Passing pad metadata intoMembrane.VideoCompositor.Handler.handle_inputs_change/3callback, allows the user to alternate custom-implemented callbacks logic, e.g. prioritizing input stream in theMembrane.VideoCompositor.Scenestructs returned from callback.
:output
Accepted formats:
%RawVideo{pixel_format: :I420}| Direction: | :output |
| Availability: | :always |
Summary
Types
User-specified init metadata passed to handler callbacks.
Passing init metadata into Membrane.VideoCompositor.Handler.handle_init/1 callback allows
the user to alternate custom-implemented init callback logic.
User-specified input stream metadata passed to handler callbacks.
Passing pad metadata into Membrane.VideoCompositor.Handler.handle_inputs_change/3
callback, allows the user to alternate custom-implemented callbacks logic,
e.g. prioritizing input stream in the Membrane.VideoCompositor.Scene structs returned from callback.
Options for pad :input
Struct containing options for Membrane.VideoCompositor
Types
@type init_metadata() :: any()
User-specified init metadata passed to handler callbacks.
Passing init metadata into Membrane.VideoCompositor.Handler.handle_init/1 callback allows
the user to alternate custom-implemented init callback logic.
@type init_options() :: %Membrane.VideoCompositor{ handler: Membrane.VideoCompositor.Handler.t(), metadata: init_metadata(), output_stream_format: Membrane.RawVideo.t(), queuing_strategy: Membrane.VideoCompositor.QueueingStrategy.t() }
@type input_pad_metadata() :: any()
User-specified input stream metadata passed to handler callbacks.
Passing pad metadata into Membrane.VideoCompositor.Handler.handle_inputs_change/3
callback, allows the user to alternate custom-implemented callbacks logic,
e.g. prioritizing input stream in the Membrane.VideoCompositor.Scene structs returned from callback.
@type input_pad_options() :: %{ metadata: input_pad_metadata(), timestamp_offset: Membrane.Time.non_neg() }
@type input_pad_opts() :: [ timestamp_offset: Membrane.Time.non_neg(), metadata: input_pad_metadata() ]
Options for pad :input
@type t() :: %Membrane.VideoCompositor{ handler: Membrane.VideoCompositor.Handler.t(), metadata: init_metadata(), output_stream_format: Membrane.RawVideo.t(), queuing_strategy: Membrane.VideoCompositor.QueueingStrategy.t() }
Struct containing options for Membrane.VideoCompositor
Functions
@spec options() :: keyword()
Returns description of options available for this module