60 lines
2.0 KiB
Plaintext
60 lines
2.0 KiB
Plaintext
LMS - Lightweight Media Server
|
|
|
|
|
|
LMS is a free media streaming software, released under the GPLv3 license.
|
|
It allows you to access your music and your videos using an https web interface.
|
|
|
|
Features:
|
|
- User management
|
|
- Fast "Winamp-style" interface
|
|
- Audio/Video transcode (including downsampling), based on the libav project (see https://www.libav.org/).
|
|
- Custom API to access data using Protocol Buffers format over TCP/SSL (see https://github.com/google/protobuf/ and src/remote/proto)
|
|
|
|
Please note LMS is still under development and will gain more features in the future.
|
|
An android application 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 trasncoded.
|
|
|
|
I) DEPENCIES
|
|
|
|
Debian packages:
|
|
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 an example, you could do whatever you want (ca, self signed cert, etc.)
|
|
|
|
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.
|
|
|