• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build-aux/H03-May-2022-5,6584,658

compat/H03-May-2022-2,1481,913

doc/H03-May-2022-1,1761,107

examples/H03-May-2022-1,021610

m4/H03-May-2022-1,9431,724

src/H03-May-2022-6,7025,111

win32/H03-May-2022-5,7285,202

COPYINGH A D30-Aug-200918.1 KiB354289

ChangeLogH A D30-Aug-200959 KiB2,0241,411

INSTALLH A D30-Aug-20099.4 KiB244182

Makefile.amH A D30-Aug-2009491 2214

Makefile.inH A D03-May-202220.8 KiB669588

NEWSH A D30-Aug-200911.6 KiB311224

READMEH A D30-Aug-20097.5 KiB201146

aclocal.m4H A D30-Aug-200981.3 KiB2,2102,070

autogen.shH A D30-Aug-20091,008 4029

configureH A D30-Aug-2009307.9 KiB11,3109,345

configure.inH A D30-Aug-20097.1 KiB306263

README

1ezstream README
2---------------------------------------
3
4
5
6ABOUT EZSTREAM
7::::::::::::::::
8
9
10Ezstream is a command line source client for Icecast media streaming servers.
11It began as the successor of the old "shout" utility, and has since gained a
12lot of useful features.
13
14In its basic mode of operation, it streams media files or data from standard
15input without re-encoding and thus requires only very little CPU resources. It
16can also use various external decoders and encoders to re-encode from one
17format to another, and stream the result to an Icecast server. With re-
18encoding enabled, ezstream is a very flexible source client.
19
20Supported media formats for streaming are MP3, Ogg Vorbis and Ogg Theora.
21Ezstream natively supports metadata in MP3 (ID3v1 only) and Ogg Vorbis, or
22many more formats when it is built with the TagLib option.
23
24Ezstream is free software and licensed under the GNU General Public License.
25See the COPYING file for details.
26
27
28
29PREREQUISITES
30:::::::::::::::
31
32
33Ezstream depends on:
34 * libshout 2.2.x
35   (http://www.icecast.org/)
36 * libxml 2.x
37   (http://xmlsoft.org/)
38
39Ezstream optionally uses:
40 - For reading metadata from Ogg Vorbis files:
41   * TagLib 1.x (1.4 or newer recommended, will be used via the libtag_c
42     wrapper)
43     (http://developer.kde.org/~wheeler/taglib.html)
44   OR:
45   * libvorbis 1.x
46     (http://www.vorbis.com)
47   Using TagLib is recommended, as it allows ezstream to read metadata from
48   many additional media file types.
49 - For basic non-ASCII charset support in metadata and filenames:
50   * Libiconv, if iconv() is not available in the system libc.
51     (http://www.gnu.org/software/libiconv/)
52
53
54
55INSTALLATION
56::::::::::::::
57
58
59The ezstream software uses the GNU auto-tools to configure, build and install
60on a variety of systems. Aside from the standard autoconf options of the
61configure script, a couple of additional options are available:
62
63  --enable-examplesdir=DIR
64                          example configuration files installation directory
65                          (default: DATADIR/examples/ezstream)
66  --enable-debug          enable memory debugging (default: no)
67  --with-libshout=PFX     prefix where the libshout header files and library
68                          are installed (default: autodetect)
69  --with-libshout-includes=DIR
70                          directory where libshout header files are installed
71                          (optional)
72  --with-libshout-libs=DIR
73                          directory where libshout is installed (optional)
74  --with-libxml2=PFX      prefix where the libxml2 header files and library
75                          are installed (default: autodetect)
76  --with-libxml2-includes=DIR
77                          directory where libxml2 header files are installed
78                          (optional)
79  --with-libxml2-libs=DIR directory where libxml2 is installed (optional)
80  --with-taglib=PFX       prefix where the TagLib header files and library are
81                          installed (default: autodetect)
82  --with-taglib-includes=DIR
83                          directory where TagLib header files are installed
84                          (optional)
85  --with-taglib-libs=DIR  directory where TagLib is installed (optional)
86  --with-libvorbis=PFX    prefix where the Vorbis library header files and
87                          library are installed (default: autodetect)
88  --with-libvorbis-includes=DIR
89                          directory where Vorbis library header files are
90                          installed (optional)
91  --with-libvorbis-libs=DIR
92                          directory where the Vorbis libraries are installed
93                          (optional)
94  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
95  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
96
97The compilation and installation process then boils down to the usual
98
99    $ ./configure --help | less         # Skim over the available options
100    $ ./configure [options] && make && [sudo] make install
101                                        # Configure, build and install
102                                        # [as root] the software
103
104If this procedure is unfamiliar to you, please consult the INSTALL file for
105more detailed instructions.
106
107On systems where the libshout installation does not include the required
108shout.pc file for pkg-config(1), the non-standard ``shout-config'' utility
109is available. However, the ezstream build system does not support the latter.
110
111If this is an issue, configure ezstream with
112
113    $ ./configure \
114        LIBSHOUT_CPPFLAGS="$(shout-config --cppflags)" \
115        LIBSHOUT_CFLAGS="$(shout-config --cflags-only)" \
116        LIBSHOUT_LIBS="$(shout-config --libs)"
117
118When the configuration keeps failing despite having all dependencies
119installed, take note of the more verbose error messages in config.log. If
120necessary, it is possible to further customize many build flags through
121environment variables. See the "influential environment variables" list
122in the --help output.
123
124
125
126USAGE
127:::::::
128
129
130Once ezstream is successfully installed, type "man ezstream" (without quotes)
131on the command line for a comprehensive manual. This distribution package also
132comes with example configuration files that can be used as a guide to
133configure ezstream.
134
135Note that all by itself, ezstream is not particularly useful. It requires a
136running Icecast server to stream to, which then relays the stream to many
137listeners. If this comes as a surprise, browse to http://www.icecast.org/ for
138a lot more information, resources, and other source clients.
139
140
141
142EXTERNAL DECODERS/ENCODERS
143::::::::::::::::::::::::::::
144
145
146Ezstream should be able to work with any media decoder and encoder that
147fulfills the following requirements:
148
149 1. It needs to be executable on the command line and not require a graphical
150    display to function.
151 2.1. A decoder needs to be capable of sending RAW data to standard output.
152 2.2. An encoder needs to be capable of reading RAW data from standard input.
153 2.3. A combined de-/encoder needs to be capable of sending media data that
154      can be streamed to standard output.
155
156Media formats that ezstream does not support directly are passed through
157unaltered. Whether they work or not depends on the level of support offered by
158the version of libshout ezstream is linked with.
159
160The following incomplete list of programs shows a few that are known to work.
161These are also used in the example configuration files:
162
163 * MP3
164   - Decoder: madplay (http://mad.sf.net/)
165   - Encoder: lame (http://lame.sf.net/)
166
167 * Ogg Vorbis:
168   - Decoder: oggdec
169   - Encoder: oggenc
170   Both utilities are in the vorbis-tools package (http://www.vorbis.com/).
171
172 * FLAC:
173   - Decoder: flac (http://flac.sf.net/)
174   - Encoder: (None. Not supported by libshout at the time of writing, and
175              thus cannot be used by ezstream.)
176
177 * Ogg Theora:
178   - Decoder/Encoder: ffmpeg2theora (http://v2v.cc/~j/ffmpeg2theora/)
179
180
181
182OPERATING SYSTEM SPECIFIC NOTES
183:::::::::::::::::::::::::::::::::
184
185
186 * Ezstream and SunPRO cc/c99 on Solaris:
187
188   Ezstream may not build with SunPRO cc/c99 "out of the box" if a threaded
189   libshout was built with gcc. This known issue results in the following
190   error message from the linker:
191
192     ld: fatal: option -h and building a dynamic executable are incompatible
193
194   This is related to gcc and GNU ld using different compiler/linker flags,
195   related to POSIX threads, than the SunPRO compilers. These are being passed
196   on to ezstream, where cc or c99 ultimately chokes on them.
197
198   Ezstream compiles with both cc/c99 and gcc if libshout was built with Sun's
199   compiler. If libshout was built with gcc, compile ezstream with gcc as
200   well.
201