Updated documentation
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
Emeric Poupon first version of all files except from the boost directory.
|
||||
|
||||
|
||||
@@ -1,9 +1,28 @@
|
||||
LMS - Lightweight Media Server
|
||||
|
||||
|
||||
LMS is a free media streaming software, released on the GPLv3 license.
|
||||
It allows you to access your music and your videos using the following built-in services:
|
||||
- Web server
|
||||
- TCP/SSL server using a Protocol Buffers format (see https://github.com/google/protobuf/)
|
||||
|
||||
LMS is written entirely in C++. Therefore, it is suitable to run on embedded devices, where space and/or memory are limited.
|
||||
Please note the media files are transcoded on-the-fly: this reduces compatibility issues but may need a lot of computation power, at least for HD videos.
|
||||
|
||||
Features:
|
||||
- User management
|
||||
- "Winamp-style" interface
|
||||
- Audio/Video transcode (including downsampling), based on the libav project (see https://www.libav.org/)
|
||||
|
||||
Please note LMS is still under development and will gain more features in the future.
|
||||
An android application is being developped as well.
|
||||
|
||||
I) DEPENCIES
|
||||
|
||||
libboost-dev libextractor-dev libavcodec-dev libwt-dev libprotobuf-dev libconfig++-dev
|
||||
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 (http://www.webtoolkit.eu/wt)
|
||||
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
|
||||
@@ -15,12 +34,11 @@ II) BUILD
|
||||
|
||||
(configure will complain if a mandatory library is missing)
|
||||
|
||||
# make -j 4
|
||||
# make
|
||||
|
||||
III) Setting up SSL materials (required by the SSL server and the web server)
|
||||
|
||||
III) Setting up SSL (required by the Remote mobile service and the web server)
|
||||
|
||||
Just an example, you could do whatever you want (ca, self signed cert, etc.)
|
||||
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
|
||||
@@ -35,6 +53,8 @@ In the build directory:
|
||||
# ./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 of your SSL parameters, you may be asked for the PEM passphrase to unlock the private key.
|
||||
Depending on your SSL parameters, you may be asked for the PEM passphrase to unlock the private key.
|
||||
|
||||
|
||||
@@ -11,28 +11,24 @@
|
||||
- Limit multi login from UI and remote interfaces (limit per interface is acceptable)
|
||||
|
||||
[Cover]
|
||||
- Scaling: find something more "reliable" than GIL and its customs extensions (adobe work, io_new)?
|
||||
- Scaling: find something more "reliable" than GIL and its custom extensions (adobe work, io_new)?
|
||||
|
||||
[Database]
|
||||
- Optim, use SQL query to get genre orphans
|
||||
- Use Inotify like system to watch modified/added files?
|
||||
- Implement a video database cleanup
|
||||
- Group videos in "video groups". Each video may has sub groups (current "Path" class)
|
||||
-> Simplify the database and remove the Path class
|
||||
- make a default admin/admin account of the very first connection?
|
||||
- count scan import errors
|
||||
|
||||
[Metadata]
|
||||
|
||||
[Transcode]
|
||||
- some early playback end spotted on flac files or huge audio files (> several hours)
|
||||
- some early end of playback spotted on flac files
|
||||
- do not use a queue to output data, but just fill produced bytes into a buffer and let the transcode user decide what to do with it
|
||||
|
||||
[UI]
|
||||
- handle internationalization
|
||||
- make a wizard on first connection (or make a default admin/admin account of the very first connection)?
|
||||
[Settings]
|
||||
- increase the menu's width
|
||||
- increase the menu's width / add margins
|
||||
- logout users that are being changed (loss of admin admin rights), or make sure they are still admin when they make changes
|
||||
- "signal not exposed" problem if a user logout and login again. bad resource destruction?
|
||||
[user/transcoding]
|
||||
@@ -50,7 +46,7 @@
|
||||
- MediaPlayer: move slider using js (http://redmine.webtoolkit.eu/boards/2/topics/7924?r=8478)
|
||||
- TrackView : handle original release date
|
||||
- TrackView : handle duration > 1 hour
|
||||
- TrackView : select only relevant columns to speed up queries (do not get eveything)
|
||||
- TrackView : select only relevant columns to speed up queries (do not fetch eveything)
|
||||
- TrackView : Reselect the current selected item when displaying the updated search results
|
||||
- ReleaseView: display the original release's publication year
|
||||
- OGG metadata -> properly handle metadata nested in the audio stream
|
||||
@@ -75,4 +71,3 @@
|
||||
|
||||
[Logs]
|
||||
- capture transcoder log output to get more information
|
||||
- Use a logging facility
|
||||
|
||||
Reference in New Issue
Block a user