Membrane.Element.FFmpeg.SWResample

CircleCI

THIS PACKAGE HAS BEEN MOVED

Please use membrane_ffmpeg_swresample_plugin.

Element of Membrane Multimedia Framework performing audio conversion, resampling and channel mixing, using SWResample module of FFmpeg library.

Documentation is available at HexDocs

Installation

Add the following line to your deps in mix.exs. Run mix deps.get.

{:membrane_element_ffmpeg_swresample, "~> 0.3.0"}

You also need to have FFmpeg library installed. For usage on windows, see Using on Windows section below.

Sample usage

defmodule Resampling.Pipeline do
  use Membrane.Pipeline
  alias Pipeline.Spec
  alias Membrane.Element.File
  alias Membrane.Element.FFmpeg.SWResample.Converter
  alias Membrane.Caps.Audio.Raw

  @doc false
  @impl true
  def handle_init(_) do
    children = [
      file_src: %File.Source{location: "/tmp/some_samples.raw"},
      converter: %Converter{
        input_caps: %Raw{channels: 2, format: :s24le, sample_rate: 48_000},
        output_caps: %Raw{channels: 2, format: :f32le, sample_rate: 44_100}
      },
      file_sink: %File.Sink{location: "/tmp/out.raw"},
    ]
    links = %{
      {:file_src, :output} => {:converter, :input},
      {:converter, :output} => {:file_sink, :input}
    }

    {{:ok, %Spec{children: children, links: links}}, %{}}
  end
end

Using on Windows

It is possible to compile and use this element on Windows platform. That requires:

Copyright and License

Copyright 2018, Software Mansion

Software Mansion

Licensed under the Apache License, Version 2.0