Playing ACC audio from a file
File.cd(__DIR__)
Logger.configure(level: :error)
Mix.install([
{:membrane_core, "~> 0.11.2"},
{:membrane_kino_plugin, path: ".."},
{:membrane_file_plugin, "~> 0.13.0"},
{:membrane_aac_plugin, "~> 0.13.0"}
])
Pipeline definition
Input video is loaded from the file and directly played using Kino.Video
sink/player.
import Membrane.ChildrenSpec
alias Membrane.{
File,
Kino
}
alias Membrane.AAC.Parser
alias Membrane.RemoteControlled, as: RC
input_filepath = "./res/input.aac"
kino = Membrane.Kino.Player.new(audio: true)
structure =
child(:file_input, %File.Source{location: input_filepath})
|> child(:parser, Parser)
|> via_in(:audio)
|> child(:video_player, %Kino.Player.Sink{kino: kino})
:ok
Playing pipeline
pipeline = RC.Pipeline.start!()
RC.Pipeline.exec_actions(pipeline, spec: structure, playback: :playing)
kino