]> git.sesse.net Git - cubemap/blobdiff - README
Make more usable documentation.
[cubemap] / README
diff --git a/README b/README
index 06c1c644b91ec555d190838e8d440e5d2b3329a7..a8692219df4f22ece9e19481597e76b1ed98b0f2 100644 (file)
--- a/README
+++ b/README
@@ -1,7 +1,48 @@
-Cubemap is a high-performance, high-availaility video reflector,
-specifically made for use with VLC.
+Cubemap is a high-performance, high-availability video reflector,
+specifically made for use with VLC. It is currently in alpha stage.
 
-Copyright 2013 Steinar H. Gunderson <sgunderson@bigfoot.com>.
-Licensed under the GNU GPL, version 2.
+A short list of features:
+
+ - High-performance. Exactly how high-performance remains to be seen,
+   but it is designed to go to 10 Gbit/sec and beyond, through a
+   design with multiple worker threads, epoll and sendfile
+   (yes, sendfile).
+ - High-availability. You can change any part of the configuration
+   (and even upgrade to a newer version of Cubemap) by changing cubemap.config
+   and sending a SIGHUP; all clients will continue as if nothing had happened
+   (unless you delete the stream they are watching, of course).
+   Cubemap also survives the encoder dying and reconnecting.
+ - Per-stream fwmark support, for TCP pacing through tc (separate config needed).
+ - Reflects anything VLC can reflect over HTTP, even the muxes VLC
+   has problems reflecting itself (in particular, FLV).
+ - IPv4 support. Yes, Cubemap even supports (some) legacy protocols.
+
+
+HOWTO:
+
+  sudo aptitude install libprotobuf-dev protobuf-compiler
+  make -j4
+
+If you want to use HTTP input (you probably want to), patch VLC with the
+included file vlc-metacube.diff. Then start the VLC encoder with the
+“metacube” flag to the http access mux, like this:
+
+  cvlc [...] --sout '#std{access=http{metacube,mime=video/x-flv},mux=flv,dst=:4013/test.flv}'
 
-More information to come here, later. :-)
+Then look through cubemap.config.sample, copy it to cubemap.config,
+compile and start cubemap.
+
+To upgrade cubemap (after you've compiled a new binary), or to pick up new
+config:
+
+  killall -HUP cubemap
+
+Cubemap will serialize itself to disk, check that the new binary and config
+are OK, and then exec() the new version, which deserializes everything and
+keeps going.
+
+
+Legalese: 
+
+Copyright 2013 Steinar H. Gunderson <sgunderson@bigfoot.com>.
+Licensed under the GNU GPL, version 2. See the included COPYING file.