View Source Membrane.IVF.Serializer (Membrane IVF Plugin v0.8.0)

Serializes video stream into IVF format.

Element options

Passed via struct Membrane.IVF.Serializer.t/0

  • width

    non_neg_integer() | nil

    Default value: nil
    Width of a frame, needed if not provided with stream format. If it's not specified either in this option or the stream format, the element will crash.

  • height

    non_neg_integer() | nil

    Default value: nil
    Height of a frame, needed if not provided with stream format. If it's not specified either in this option or the stream format, the element will crash.

  • timebase

    {pos_integer(), pos_integer()}

    Default value: {1, 1000000000}
    Timebase for the timestamps added to the frames

  • frame_count

    non_neg_integer() | :dynamic

    Default value: :dynamic
    Number of frames in the stream. If set to :dynamic the frames will be counted and a Membrane.File.SeekSinkEvent will be sent at the end of the stream to insert this value in the file header. In that case the element MUST be used along with Membrane.File.Sink or any other sink that can handle Membrane.File.SeekSinkEvent.

Pads

:input

Accepted formats:

%RemoteStream{content_format: format, type: :packetized} when format in [VP9, VP8]
VP8
VP9
Direction::input
Availability::always
Flow control::auto

:output

Accepted formats:

_any
Direction::output
Availability::always
Flow control::auto

Summary

Types

t()

Struct containing options for Membrane.IVF.Serializer

Functions

Returns description of options available for this module

Types

@type t() :: %Membrane.IVF.Serializer{
  frame_count: non_neg_integer() | :dynamic,
  height: non_neg_integer() | nil,
  timebase: {pos_integer(), pos_integer()},
  width: non_neg_integer() | nil
}

Struct containing options for Membrane.IVF.Serializer

Functions

@spec options() :: keyword()

Returns description of options available for this module