GithubHelp home page GithubHelp logo

jar2333 / radio-daemon Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 310 KB

Icecast source daemon for queuing and streaming music albums. Includes sample receiver webpage.

Python 67.75% HTML 30.06% Shell 2.19%
bash-script fastapi icecast2 ices python3 systemd-unit xml

radio-daemon's Introduction

Icecast radio source daemon

WARNING: this code is not yet plug and play. One cannot simply clone the repository and run it. It is here for documentation purposes.

Everything available to use this is in the repository, but one must have ffmpeg, ices, and icecast2 installed. IceS can be built from source, get the source tarball here: https://icecast.org/ices/

All python dependencies can be installed with pip install -r requirements.txt. A virtual env is recommended.

Documentation for the user_config.xml file:

The <?xml version="1.0" encoding="UTF-8"?> is called the "xml preamble". It just specifies information used in parsing xml files.

The xml root element is <config>. The child elements of the root must be <timeslot> elements. It can have any number (0 or more) of <timeslot> children, each defining a separate time slot for the stream.

A <timeslot> element must have 4 children (otherwise parsing will fail):

  • <genre> element. It encloses a string which describes the time slot's genre of music.
  • <time> element. It must contain one <start> and one <end> child elements. These both must enclose a string representing a time in HH:MM format (24 hour time). These strings represent the start and end of the time slot, respectively.
  • <albums> element. It encloses a string representing the path to the directory which will be searched to find albums. An album is just a folder inside this directory, which contains music files and a cover image.
  • <blacklist> element. It can contain 0 or more children <album> elements, each enclosing a string representing the name of an album folder. Every folder named in this blacklist will be skipped when loading albums.

radio-daemon's People

Contributors

jar2333 avatar

Watchers

 avatar

Forkers

martincorey

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.