.. image:: https://github.com/yomguy/DeeFuzzer/raw/master/doc/img/logo_deefuzzer.png
-Introduction
-============
+|version| |downloads| |travis_master|
+
+.. |travis_master| image:: https://secure.travis-ci.org/Parisson/DeeFuzzer.png?branch=master
+ :target: https://travis-ci.org/Parisson/DeeFuzzer/
+
+.. |version| image:: https://pypip.in/version/DeeFuzzer/badge.png
+ :target: https://pypi.python.org/pypi/DeeFuzzer/
+ :alt: Version
+
+.. |downloads| image:: https://pypip.in/download/DeeFuzzer/badge.svg
+ :target: https://pypi.python.org/pypi/DeeFuzzer/
+ :alt: Downloads
+
-DeeFuzzer is an open, light and instant software made for streaming audio and video over Internet.
-It is dedicated to media streaming communities who wants to create web radios, web televisions,
-live multimedia relaying or even as a personal home radio, with rich media contents including track metadata.
+DeeFuzzer is a light and instant application for streaming audio and video over internet.
+It is dedicated to communities who wants to easily create web radios, web TVs,
+live multimedia relays or personal home radios, with metadata management and cool features.
-Here are the main features of the deefuzzer:
+
+Features
+=========
* MP3, OGG Vorbis file and live streaming over Internet
* Full metadata encapsulation and management
* M3U playlist generator
* Recursive, random (shuffled) or pre-defined playlists
* Multi-threaded architecture: multiple station streaming with one config file
- * Auto Twitter posting of the current playing and new tracks
- * Jingling between main tracks
+ * Auto twitting the current playing track and new tracks
+ * Auto jingling between tracks
* OSC controller: control the main functions from a distant terminal
- * Relaying: relay and stream *LIVE* sessions!
+ * Relaying: relay and stream live sessions!
+ * WebM video relaying support
* Very light and optimized streaming process
* Fully written in Python
* Works with Icecast2, ShoutCast, Stream-m
- * EXPERIMENTAL: WebM video streaming support
-It is only neccessary to provide a config file which sets all needed parameters.
-Please see example/deefuzzer.xml for an example.
+Because our aim is to get DeeFuzzer as light as possible it is NOT capable of re-encoding or transcoding media files for the moment.
-Because our aim is to get DeeFuzzer as light as possible it is NOT capable of re-encoding or transcoding media files.
News
=====
+0.7
+
+ * Huge refactoring which should be compatible with old setups, but please read the `updated example <https://github.com/yomguy/DeeFuzzer/blob/dev/example/deefuzzer_doc.xml>`_ before going on
+ * Reworked the RSS feed handling to allow JSON output as well and more configuration options (@achbed #27 #28)
+ * Add an init.d script to act as a deamon (@achbed)
+ * Add stationdefaults preference (apply default settings to all stations) (@achbed #31)
+ * Add stationfolder preference (generate stations automagically from a folder structure) (@achbed #31)
+ * Add stationconfig preference (load other preference files as stations) (@achbed #31)
+ * Add new station.server.appendtype option
+ * Add new base_dir parameter to station definition
+ * New stationdefaults parameter (provides a mechanism to give default values for all stations) (@achbed #29)
+ * Better thread management (@achbed #36 #37 #38)
+ * Improved stability avoiding crashes with automatic station restart methods (@achbed #39 #45)
+ * Added option (ignoreerrors) to log and continue when an error occurs during station setup (@achbed #43)
+ * Cleanup, better doucmentation and good ideas (@choiz #15 #16 #17 #23)
+ * Various bufixes
+ * Many thanks to all participants and espacially to @achbed for his **huge** work, efficiency and easy collaboration
+ * Enjoy!
+
0.6.6
* Update station name (remove ": http://url")
sudo apt-get install python-pip python-dev libshout3-dev python-liblo python-mutagen \
python-pycurl liblo-dev libshout3-dev librtmp-dev \
- python-yaml libcurl4-openssl-dev python-mutagen
+ python-yaml libcurl4-openssl-dev python-mutagen icecast2
Now, the easiest way to install the DeeFuzzer from a shell::
sudo pip install deefuzzer
-or::
-
- sudo easy_install deefuzzer
-
-to upgrade::
+To upgrade::
- sudo pip install --upgrade deefuzzer
+ sudo pip install -U deefuzzer
-To install the DeeFuzzer from sources, download the last archive `there <http://pypi.python.org/pypi/DeeFuzzer>`_
+For more informations, please see on `GitHub <https://github.com/yomguy/DeeFuzzer>`_ or tweet to @yomguy
-Uncompress, go to the deefuzzer app directory and run install as root. For example::
-
- tar xzf DeeFuzzer-0.6.5.tar.gz
- cd DeeFuzzer-0.6.5
- sudo python setup.py install
-
-Follow the related package list to install optional or recommended applications:
-
- * **depends**: python, python-dev, python-shout (from pypi.python.org) | shout-python, libshout3, libshout3-dev, python-mutagen, python-pycurl | pycurl
- * **optional**: python-twitter, python-liblo | pyliblo (>= 0.26), python-yaml
- * **recommends**: icecast2, python-setuptools, stream-m
-
-For more informations, please see on `GitHub <https://github.com/yomguy/DeeFuzzer>`_ or twitt a message to @parisson_studio
Usage
=====
-Usage: deefuzzer CONFIGFILE
+deefuzzer CONFIGFILE
where CONFIGFILE is the path for a XML or YAML config file. For example::
Note that you must edit the config file with right parameters before playing.
You can find an example for a draft XML file in the "example" directory of the source code.
-WARNING: because we need the DeeFuzer to be a very stable streaming process with multiple channel management,
+WARNING: because we need the DeeFuzzer to be a very stable streaming process with multiple channel management,
the multi-threaded implementation of deefuzzer instances avoids shutting down the process with a CTRL+C.
You have to kill them manually, after a CTRL+Z, making this::
Some examples of markup configuration files:
- * `generic XML <https://github.com/yomguy/DeeFuzzer/blob/master/example/deefuzzer.xml>`_
* `generic and documented XML <https://github.com/yomguy/DeeFuzzer/blob/master/example/deefuzzer_doc.xml>`_
+ * `generic XML for testing <https://github.com/yomguy/DeeFuzzer/blob/master/example/deefuzzer.xml>`_
* `OGG Vorbis and MP3 together <https://github.com/yomguy/DeeFuzzer/blob/master/example/deefuzzer_mp3_ogg.xml>`_
* `generic YAML <https://github.com/yomguy/DeeFuzzer/blob/master/example/deefuzzer.yaml>`_
http://files.parisson.com/doc/deefuzzer/
+
Development
============
Everybody is welcome to participate to the DeeFuzzer project!
We use GitHub to collaborate: https://github.com/yomguy/DeeFuzzer
-Join us!
+Clone it, star it, join us!
-Author
-======
-YomguY aka Guillaume Pellerin:
+Authors
+=======
+
+ * @yomguy +GuillaumePellerin yomguy@parisson.com
+ * @achbed
+ * @choiz
- * twitter @yomguy @parisson_studio
- * g+ +Guillaume Pellerin
- * email <yomguy@parisson.com>
License
=======
This software is released under the terms of the CeCILL license (GPLv2 compatible).
as described in the file LICENSE.txt in the source directory or online https://github.com/yomguy/DeeFuzzer/blob/master/LICENSE.txt
+
Aknowledgements
===============
Some parts of this work are also taken from another Parisson's project: Telemeta
(see http://telemeta.org).
+
Contact / Infos
===============