Updated documentation

This commit is contained in:
emeric
2015-03-04 12:55:20 +01:00
parent 7eba050af3
commit f1189d2154
3 changed files with 27 additions and 9 deletions
+13 -7
View File
@@ -1,22 +1,22 @@
LMS - Lightweight Media Server
LMS is a free media streaming software, released under the GPLv3 license.
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
- 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)
- 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.
An android application is being developped as well.
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) DEPENCIES
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
@@ -37,7 +37,7 @@ II) BUILD
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.)
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
@@ -57,3 +57,9 @@ Create the lms.conf file using the etc/lms.sample.conf
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/)
+4 -2
View File
@@ -22,7 +22,7 @@
- OGG metadata -> properly handle metadata nested in the audio stream
[Transcode]
- some early end of playback spotted on flac files
- some early end of playback spotted on flac files. Spotted on old firefox versions?
[UI]
- handle internationalization
@@ -31,6 +31,7 @@
- "signal not exposed" problem if a user logout and login again. bad resource destruction?
[user/transcoding]
- Prefered codecs for audio/video?
- use a slider instead of a combo box for the bitrates
[admin/Users]
- do not activate the update period/start time when 'admin' is checked
[admin/Database update]
@@ -39,10 +40,11 @@
[Audio]
- Style eveything nicely...
- MediaPlayer: move slider using js (http://redmine.webtoolkit.eu/boards/2/topics/7924?r=8478)
- MediaPlayer: move the slider using js (http://redmine.webtoolkit.eu/boards/2/topics/7924?r=8478)
- TrackView : handle duration > 1 hour
- TrackView : Reselect the current selected item when displaying the updated search results
- Add covers in the release filter?
- Add a download button to get the current playlist in a streamed zip file
[Video]
- implement a decent mediaplayer
+10
View File
@@ -5,6 +5,16 @@ import "media.proto";
package Remote;
// Every request sent by the client must be a ClientMessage
// The server will answer using a ServerMessage
//
// The client must authenticate first before querying data
// If an expected message is received, the connection is dropped by the server
//
// A header is to be added before the serialized protobuf message in order to keep
// track of where one message ends and the next begins.
// Format:
// MAGIC (4 bytes, 0xDE, 0xAD, 0xBE, 0xEF)- SIZE (4 bytes, big endian encoded) - serialized proto message
message ClientMessage
{
enum Type