summaryrefslogtreecommitdiff
path: root/README
blob: 70063b00e8f1adfac34c8dc114028ecae7a1ecde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
CMP - Compound Media Player
===========================
2012 (c) Reinhard Mantey - some rights reserved.
The project is published under the license of cc-by-sa

consists of:
------------
cmps - compound media player server
cmpc - compound media player client

cmps (the server part)
----------------------
scans the given media root directory (default /media) and offers the result as
list in html- and json-format. The lists contain an url for the media, which
can be streamed by using http-protocol.
No external tools are used at server side.
The libraries I use are libyajl, libssl, libcrypto and libstdc++ - where I
used selfcompiled libyajl release 2.0.5 (the only lib I had to compile at
debian stable system).
As parts of the server libraries are work from vdr, cmps inherits the
dependencies of vdr.
So the complete (runtime) dependencies of cmps are:
    libjpeg
    libpthread
    libcap
    librt
    libfribidi
    libfreetype
    libfontconfig
    libyajl
    libssl
    libcrypto
    libstdc++
    libcrypto
cmps supports three commandline parameters:
 -r <Path>  the directory where to start scanning for media
 -p ###     the serverport where the mediaserver can be connected to
 -i <Path>  the favicon - the icon to distinguish the server, if list is
            requested by standard web-browsers.


cmpc (the client)
-----------------
 *tbd*

cmpcj (a java client)
---------------------
is the butler between mediaserver (cmps) and mediaplayer and offers several
filters on the medialist. The list of mediaservers and the mediaplayers to use
are user configurable.
The first screen offers the selection of the mediaserver to use.
Next screen shows the medialist (if the server is online). That list can be
filtered by mediatype and/or free text, where the text may match the (invisible)
path of the media.
A doubleclick on a mediaitem starts the player - cmpc (the client) stays blocked
until the player stops.

attribution:
cmpcj uses glazedlists from http://www.glazedlists.com and
jackson from http://jackson.codehaus.org
the used folder icons are from http://www.iconfinder.com/search/?q=iconset%3Asabre
the vdr- and dvd-icons build on my own (based on the work from above)


The C/C++ libraries
-------------
1. libs/vdr
-----------
  contains classes from the vdr project, some of them extended
  For each file Klaus Schmidinger is the original author and the
  copyright holder. All his files are published following the
  GPL 2.0 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

2. libs/util
------------
  basic helper classes, used by other libs

3. libs/networking
------------------
  classes to handle sockets and i.e. http protocol

4. fsScan
---------
  classes around filesystem scanning, and media base classes

5. cmps/serverlib
-----------------
  classes used by backend only