X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=README;h=e9520d3aec889da9e53f9bad82f69352024080c3;hp=5c9119e0297bdd1a703dc0061282a7753ad7be5f;hb=0229f4414b3b63934c057030deb88cbf6926bb1f;hpb=16a03b9858752fae9e81af261821a2a22855fde3 diff --git a/README b/README index 5c9119e..e9520d3 100644 --- a/README +++ b/README @@ -5,8 +5,7 @@ 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. + 10 gigabit Ethernet (even with TLS) given a modern kernel. - 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 @@ -19,8 +18,10 @@ A short list of features: - Multicast support, both for sending and receiving (supports only protocols that can go over UDP, e.g. MPEG-TS). Supports both ASM and SSM. - TLS output support, through the TLSe library (requires libtomcrypt) - and the Linux kernel's kTLS (Linux 4.13 or newer). There are a few + and the Linux kernel's kTLS (Linux 4.17 or newer). There are a few limitations; see below. + - fMP4 (HLS) output support, generating playlists on-the-fly. Note that this + requires some extra metadata currently only set by Nageru (not VLC). - IPv4 support. Yes, Cubemap even supports (some) legacy protocols. @@ -39,6 +40,9 @@ access mux, like this: Then look through cubemap.config.sample, copy it to cubemap.config, compile and start cubemap. +Nageru, my free video mixer, can also produce Metacube streams natively. +See the manual at https://nageru.sesse.net/doc/ for more information. + To upgrade cubemap (after you've compiled a new binary), or to pick up new config: @@ -55,13 +59,14 @@ Cubemap supports TLS on output, so that you can play video on TLS web sites without issues with mixed content. TLS on input streams is not (yet) supported. -TLS requires kTLS, ie., Linux >= 4.13 with CONFIG_TLS enabled. Only cipher -suites supported by kTLS is supposed, ie., AES-128-GCM (if no such cipher -suite is available, the connection will be aborted). If the server is restarted -before the key exchange for a connection is completed, that connection will -not survive the restart, unlike all other connections. (This is a TLSe -limitation.) You can have different certificates on different ports (and -have separate ports for TLS and non-TLS), but SNI is not yet supported. +TLS requires kTLS for both send and receive, ie., Linux >= 4.17 with CONFIG_TLS +enabled. Only cipher suites supported by kTLS is supposed, ie., AES-128-GCM +(if no such cipher suite is available, the connection will be aborted). If the +server is restarted before the key exchange for a connection is completed, +that connection will not survive the restart, unlike all other connections. +(This is a TLSe limitation.) You can have different certificates on different +ports (and have separate ports for TLS and non-TLS), but SNI is not yet +supported. Munin plugins: