Updated documentation
This commit is contained in:
@@ -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/)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user