1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-11-03 04:17:18 -05:00
Go to file
moritz 270c56c8bf Make Ezstream work properly and do the right thing, even when bombarded with
a flurry of simultaneous SIGHUP and SIGUSR1 signals. From what I can tell,
signal handling is now quite solid now. Achieve this by moving most of
streamFile() into a new sendStream() function, which is called within a new
do-while loop inside streamFile(). There, proper behavior is ensured and
a race condition resolved in favor of SIGHUP.


git-svn-id: https://svn.xiph.org/trunk/ezstream@12564 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 18:28:05 +00:00
conf Various cleanups and auto-fu tweaks. 2007-02-25 14:00:15 +00:00
doc Add ezstream man page. 2007-02-24 20:52:57 +00:00
m4 Initial revision 2004-01-30 17:19:45 +00:00
src Make Ezstream work properly and do the right thing, even when bombarded with 2007-02-25 18:28:05 +00:00
win32 Various cleanups and auto-fu tweaks. 2007-02-25 14:00:15 +00:00
autogen.sh Replace the autogen behemoth with something much simpler. AC_PREREQ and 2007-02-24 21:16:26 +00:00
ChangeLog added changelog 2005-12-14 21:14:41 +00:00
configure.in Various cleanups and auto-fu tweaks. 2007-02-25 14:00:15 +00:00
COPYING Initial revision 2004-01-30 17:19:45 +00:00
INSTALL Add INSTALL file for those not familiar with the configure+make dance. From 2007-02-24 20:58:18 +00:00
Makefile.am Various cleanups and auto-fu tweaks. 2007-02-25 14:00:15 +00:00
README Commit rewritten README file. 2007-02-24 21:11:49 +00:00

ezstream README
---------------------------------------



ABOUT EZSTREAM
::::::::::::::::


Ezstream is a command line source client for Icecast media streaming servers,
and the successor of the old "shout" utility.

In its basic mode of operation, it streams media files or data from standard
input without reencoding and thus requires only very little CPU resources. It
can also use various external decoders and encoders to reencode from one
format to another, and stream the result to an Icecast server.

Directly supported media formats are MP3, Ogg Vorbis and Ogg Theora. Metadata
support is available for MP3 (ID3v1 only) and Ogg Vorbis.

Ezstream is free software and licensed under the GNU General Public License.
See the COPYING file for details.



PREREQUISITES
:::::::::::::::


Ezstream depends on:
 * libshout 2.2.x (http://www.icecast.org/)
 * libshout dependencies, such as libogg, libvorbis, libtheora, etc.
   (http://www.vorbis.com/ and http://www.theora.org/)
 * libxml 2.x (http://xmlsoft.org/)



INSTALLATION
::::::::::::::


The ezstream software uses the GNU auto-tools to configure, build and install
on a variety of systems. Aside from the standard autoconf options of the
configure script, a couple of additional options are available:

  --with-xml-config=PATH  use xml-config in PATH to find libxml
  --with-ogg=PREFIX       Prefix where libogg is installed (optional)
  --with-vorbis=PREFIX    Prefix where libvorbis is installed (optional)

The compilation and installation process boils down to the usual

    $ ./configure --help | less         # Skim over the available options
    $ ./configure [options] && make && [sudo] make install
                                        # Configure, build and install
                                        # [as root] the software

If this procedure is unfamiliar to you, please consult the INSTALL file for
more detailed instructions.



USAGE
:::::::


Once ezstream is successfully installed, type "man ezstream" (without quotes)
on the command line for a comprehensive manual. This distribution package also
comes with example configuration files that can be used as a guide to configure
ezstream.

Note that all by itself, ezstream is not particularly useful. It requires a
running Icecast server to stream to, which then relays the stream to many
listeners. If this comes as a surprise, browse to http://www.icecast.org/ for
a lot more information, resources, and other source clients.



EXTERNAL DECODERS/ENCODERS
::::::::::::::::::::::::::::


Ezstream should be able to work with any media decoder and encoder that
fulfills the following requirements:

 1. It needs to be executable on the command line and not require a graphical
    display to function.
 2.1. A decoder needs to be capable of sending RAW data to standard output.
 2.2. An encoder needs to be capable of reading RAW data from standard input.
 2.3. A combined de-/encoder needs to be capable of sending streamable media
      to standard output.

Media formats that ezstream does not support directly are passed through
unaltered. Whether they work or not depends on the level of support offered
by the version of libshout ezstream is linked with.

The following incomplete list of programs shows a few that are known to work.
These are also used in the example configuration files:

 * MP3
   - Decoder: madplay (http://mad.sf.net/)
   - Encoder: lame (http://lame.sf.net/)

 * Ogg Vorbis:
   - Decoder: oggdec
   - Encoder: oggenc
   Both utilities are in the vorbis-tools package (http://www.vorbis.com/).

 * FLAC:
   - Decoder: flac (http://flac.sf.net/)
   - Encoder: (None. Not supported by libshout at the time of writing, and
              thus cannot be used by ezstream.)

 * Ogg Theora:
   - Decoder/Encoder: ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora/)