Converted README to md format

This commit is contained in:
epoupon
2015-09-04 13:56:51 +02:00
parent 14481d1e77
commit 3ee7264799
2 changed files with 85 additions and 70 deletions
-70
View File
@@ -1,70 +0,0 @@
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
- LMS API available in Protocol Buffers (see src/lms-api/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)
The configure script allows you to disable the LMS API support (and protobuf dependencies)
See 'configure --help' for more information.
# 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 the ui/docroot/ directory
You must also link Wt's docroot (usually located in /usr/share/Wt) into that directory. Example:
# ln -s /var/lms/docroot/resources /usr/share/Wt/resources
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/)
+85
View File
@@ -0,0 +1,85 @@
# 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
- LMS API available in Protocol Buffers (see src/lms-api/proto/messages.proto)
Please note LMS is still under development and will gain more features in the future.
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.
## Dependencies
### Debian or Ubuntu packages
```sh
$ apt-get install g++ autoconf automake libboost-dev libboost-locale-dev libboost-iostreams-dev libboost-log-dev libavcodec-dev libwtdbosqlite-dev libwthttp-dev libwtdbo-dev libwt-dev libconfig++-dev libjpeg8-dev libavcodec-dev libavformat-dev libavutil-dvegi
```
If you want to enable the LMS API, you need these additional packages:
```sh
$ apt-get install libprotobuf-dev libprotobuf-dev protobuf-compiler
```
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)
## Build
```sh
$ autoreconf -vfi
$ mkdir build
$ cd build
$ ../configure
```
configure will complain if a mandatory library is missing.
The configure script allows you to disable the LMS API support, see 'configure --help' for more information.
```sh
$ make
```
## Setting up SSL materials
This is required by the SSL server and the web server.
Here is just a self signed certificate example, you could do use a CA if you want.
Generate a dh file:
```sh
$ openssl dhparam -out dh2048.pem 2048
```
Generate a self signed certificate:
```sh
$ openssl req -x509 -out cert.pem -keyout privkey.pem -newkey rsa:4096
```
## Running
In the build directory:
```sh
$ ./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 the ui/docroot/ directory
You must also link Wt's docroot (usually located in /usr/share/Wt) into that directory. Example:
```sh
ln -s /var/lms/docroot/resources /usr/share/Wt/resources
```
Depending on your SSL parameters, you may be asked for the PEM passphrase to unlock the private key.
## Credits
- Wt (http://www.webtoolkit.eu/)
- bootstrap3 (http://getbootstrap.com/)
- libav project (https://www.libav.org/).
- Protocol Buffers (https://github.com/google/protobuf/)
73,1 Bot