2015-03-04 12:55:20 +01:00
2014-12-01 12:55:55 +01:00
2015-03-04 12:55:20 +01:00
2015-01-10 17:51:24 +01:00
2014-04-14 22:58:51 +02:00
2014-09-30 19:44:36 +02:00
2014-03-09 10:58:52 +01:00
2014-10-10 20:41:34 +02:00
2014-03-09 10:58:52 +01:00
2014-03-09 10:58:52 +01:00
2014-10-10 20:50:34 +02:00
2014-03-09 10:58:52 +01:00
2015-03-04 12:55:20 +01:00
2015-03-04 12:55:20 +01:00

LMS - Lightweight Media Server


LMS is a self-hosted media streaming software, released under the GPLv3 license.
It allows you to access your music and your videos using an https web interface.

Features:
- Winamp-like interface, suited for large databases
- Audio/Video transcode for maximum interoperability and low bandwith requirements
- User management
- API available in Protocol Buffers (see src/remote/proto/messages.proto)

Please note LMS is still under development and will gain more features in the future.
A mobile application based on Kivy is being developped as well.

LMS is written entirely in C++. Therefore, it is suitable to run on embedded devices, where space and/or memory are limited.
Please note some media files may require significant CPU usage to be transcoded.

I) DEPENDENCIES

Debian packages:
g++ autoconf automake libboost-dev libavcodec-dev libwtdbosqlite-dev libwthttp-dev libwtdbo-dev libwt-dev libprotobuf-dev libconfig++-dev libprotobuf-dev protobuf-compiler libjpeg8-dev libavcodec-dev libavformat-dev libavutil-dev

Warning: your distrib may provide an outdated wt library. Using the latest Wt (>= 3.3.3) is highly recommended (see http://www.webtoolkit.eu/wt)


II) BUILD

# autoreconf -vfi
# mkdir build
# cd build
# ../configure

(configure will complain if a mandatory library is missing)

# make

III) Setting up SSL materials (required by the SSL server and the web server)

This is just a self signed certificate example, you could do use a CA if you want.

Generate a dh file:
# openssl dhparam -out dh2048.pem 2048

Generate a self signed certificate:
# openssl req -x509 -out cert.pem -keyout privkey.pem -newkey rsa:4096


IV) RUNNING

In the build directory:
# ./src/lms lms.conf

Create the lms.conf file using the etc/lms.sample.conf
- "ui.resources.approot" has to refer to the ui/approot/ directory.
- "ui.resources.docroot" has to refer to Wt's docroot (usually located in /usr/share/Wt)

Depending on your SSL parameters, you may be asked for the PEM passphrase to unlock the private key.

V) LINKS

- Wt (http://www.webtoolkit.eu/)
- bootstrap3 (http://getbootstrap.com/)
- libav project (https://www.libav.org/).
- Protocol Buffers (https://github.com/google/protobuf/)
S
Description
Lightweight Music Server. Access your self-hosted music using a web interface.
http://lms-demo.poupon.dev
Readme
16 MiB
Languages
C++ 98.7%
CMake 0.7%
JavaScript 0.3%
Python 0.2%