Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Experimental Play backend based on GStreamer
C Shell Ruby

This branch is 43 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
common
src
.gitignore
AUTHORS
COPYING
ChangeLog
INSTALL
Makefile.am
NEWS
README
README.md
autogen.sh
configure.in

README.md

What Is This?

gst-playd is a really simple cross-platform service whose sole job is to play back media files to a list of targets (IceCast and AirPlay), using the GStreamer API.

It's a single exe, it's simple to manage and configure, and you can run as many as you want in parallel for multiple audio streams.

What Doesn't It Do

gst-playd knows nothing about library management. Its goal is to replace Airfoil and Nicecast in the current Play implementation (Play v2)

How does it work?

gst-playd will start up a REQ/REP ZeroMQ socket on a specified port - meaning, it will boot up and wait for a request to come in. The requests are really simple string-based, Redis-style commands, something like:

PLAY file:///home/foo/bar.mp3
STOP

And the responses will be equivalently structured:

OK
ERROR IceCast isn't installed. Install it via 'brew install icecast'

Internally, gst-playd will manage the GStreamer Pipeline as well as handle starting up and configuring the Icecast server (including tying the lifetime of the icecast process to gst-playd, so if gst-playd dies, it kills the associated icecasts on its way out)

How do I build this?

On OS X:

brew install zeromq --head
brew install gst-plugins-good gst-plugins-ugly gst-ffmpeg  ## Get some coffee.
brew link libxml2

./autogen.sh && make
Something went wrong with that request. Please try again.