### Run Membrane MP3 Lame Plugin Example (Elixir) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This command executes an example Elixir script (`example.exs`) demonstrating the usage of the `MP3.Lame.Encoder` element from the Membrane MP3 Lame Plugin. The example pipeline redirects audio from the default input to an MP3 file. ```bash iex example.exs ``` -------------------------------- ### Install Lame Encoder Library (Ubuntu) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This command installs the Lame encoder development library on Ubuntu systems using the apt package manager. This dependency is necessary for the Membrane MP3 Lame Plugin's encoding capabilities. ```bash sudo apt-get install libmp3lame-dev ``` -------------------------------- ### Install Lame Encoder Library (Arch Linux) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This command installs the Lame encoder library on Arch Linux and Manjaro distributions using the pacman package manager. Ensure this library is installed for the Membrane MP3 Lame Plugin to work. ```bash sudo pacman -S lame ``` -------------------------------- ### Install Lame Encoder Library (Fedora) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This command installs the Lame encoder development library on Fedora systems using the dnf package manager. This is a required dependency for the Membrane MP3 Lame Plugin. ```bash sudo dnf install lame-devel ``` -------------------------------- ### Install Membrane MP3 Lame Plugin (Elixir) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This code snippet shows how to add the Membrane MP3 Lame Plugin as a dependency in your Elixir project's `mix.exs` file. After adding the line, you should run `mix deps.get` to fetch the dependency. This plugin requires the Lame encoder library, which is automatically handled by precompiled builds but can be installed manually if needed. ```elixir {:membrane_mp3_lame_plugin, "~> 0.18.3"} ``` -------------------------------- ### Install Lame Encoder Library (macOS) Source: https://hexdocs.pm/membrane_mp3_lame_plugin/readme This command installs the Lame encoder library on macOS using the Homebrew package manager. This is a prerequisite for the Membrane MP3 Lame Plugin to function correctly if automatic linking fails. ```bash brew install lame ``` -------------------------------- ### Get Membrane MP3 Lame Encoder Options Description Source: https://hexdocs.pm/membrane_mp3_lame_plugin/Membrane.MP3.Lame A function that returns a description of the available options for the Membrane.MP3.Lame.Encoder module. This is useful for understanding configuration parameters. ```elixir @spec options() :: keyword() ``` -------------------------------- ### Membrane.MP3.Lame.Encoder Configuration Source: https://hexdocs.pm/membrane_mp3_lame_plugin/Membrane.MP3.Lame Configuration options for the Membrane MP3 Lame Encoder element. ```APIDOC ## Membrane.MP3.Lame.Encoder Options ### Description Configuration options for the `Membrane.MP3.Lame.Encoder` element, which encodes raw audio into MPEG-1, layer 3 format. ### Element Options - **`gapless_flush`** (boolean) - Default: `true` When `true`, the encoder flushes without outputting tags, allowing for gapless playback when concatenated with other files. - **`bitrate`** (integer) - Default: `192` The output bitrate of the encoded stream in kbit/sec. - **`quality`** (non_neg_integer) - Default: `5` Affects encoding quality by selecting an algorithm. `0` is best (slowest), `9` is worst. Recommended values: `2` (near-best, not too slow), `5` (good, fast), `7` (ok, very fast). ### Pads #### `:input` Pad - **Accepted Formats:** - `%RawAudio{sample_format: :s32le, sample_rate: 44100, channels: 2}` - `Membrane.RemoteStream` - **Direction:** `:input` - **Availability:** `:always` - **Flow control:** `:auto` #### `:output` Pad - **Accepted Formats:** - `%MPEGAudio{channels: 2, sample_rate: 44100, layer: :layer3, version: :v1}` - **Direction:** `:output` - **Availability:** `:always` - **Flow control:** `:auto` ### Types #### `t()` ```elixir @type t() :: %Membrane.MP3.Lame.Encoder{ bitrate: integer(), gapless_flush: boolean(), quality: non_neg_integer() } ``` Struct containing options for `Membrane.MP3.Lame.Encoder`. ### Functions #### `options()` ```elixir @spec options() :: keyword() ``` Returns a description of the options available for this module. ``` -------------------------------- ### Membrane MP3 Lame Encoder Options Structure Source: https://hexdocs.pm/membrane_mp3_lame_plugin/Membrane.MP3.Lame Defines the structure for the Membrane.MP3.Lame.Encoder options, specifying data types for bitrate, gapless_flush, and quality. This struct is used to configure the encoder's behavior. ```elixir @type t() :: %Membrane.MP3.Lame.Encoder{ bitrate: integer(), gapless_flush: boolean(), quality: non_neg_integer() } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.