X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=README;h=4410010d148cde515898ffb7af9b49ddff91a97b;hp=06c1c644b91ec555d190838e8d440e5d2b3329a7;hb=3ce04a3c410c5836394417b19e70f2a95bc8a5e7;hpb=32d84e70aa1f1c9cd8334aceac0a617b4a7b4b40 diff --git a/README b/README index 06c1c64..4410010 100644 --- 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 . -Licensed under the GNU GPL, version 2. +A short list of features: + + - High-performance, through a design with multiple worker threads, + epoll and sendfile (yes, sendfile); a 2GHz quadcore can saturate + 10 gigabit Ethernet, given a modern kernel, a modern NIC + and the right kernel tuning. + - 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 . +Licensed under the GNU GPL, version 2. See the included COPYING file.