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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
|
Cubemap 1.5.2, 2024-08-11
* Fix compatibility with FFmpeg 7.0.
Cubemap 1.5.1, 2023-12-17
* Use systemd.pc to place systemd system units.
Patch by Chris Hofstaedtler.
Cubemap 1.5.0, 2023-12-09
* Support input from pipes (subprocesses).
With a program that can output Metacube on stdout, such as a suitably
patched FFmpeg binary, this gives Cubemap transcoding/remuxing capabilities.
Of course, one cannot upgrade such a binary by SIGHUP-ing it, but it will
survive a Cubemap reload/restart.
* Add a LD_PRELOAD-able library to force Metacube output from FFmpeg.
This hooks just the right amount of functions to add Metacube output
to arbitrary FFmpeg programs, but is obviously very brittle.
(Native FFmpeg support would be better, but a patch did not
go through when I tried a while back.) It is only lightly tested.
Documentation in the README and cubemap.config.sample.
* Various bugfixes.
Cubemap 1.4.3, 2019-11-17
* Keep the HLS backlog even if the stream header changes. Useful
for streaming fMP4 across backend restarts, at least given a
reasonable client (not all can play or even seek across
discontinuities).
* Various bugfixes.
Cubemap 1.4.2, 2018-12-21
* Fix an issue with backlogs larger then 2 GB.
Cubemap 1.4.1, 2018-09-12
* Fix some 32-bit compilation issues.
Cubemap 1.4.0, 2018-09-01
* NOTE: Cubemap now requires a C++11 compiler. Also, live upgrades
from Cubemap before version 1.2.0 is no longer supported (upgrade
through 1.3.2 first if this is a problem for you).
* Support for TLS 1.2, through the tlse library (a lightly patched
version is included) and kTLS. This requires Linux >= 4.17.
* Support for fMP4 (HLS), including generating playlists on-the-fly.
This requires an input Metacube stream generated by Nageru >= 1.7.2.
See cubemap.config.sample for an example.
* Fix an issue that would cause problems with UDP inputs on reload
(unless their source encoding was explicitly marked as raw).
Cubemap 1.3.2, 2017-05-24
* Fix a bug where streams with paths exactly seven characters long
(e.g. “/abc.ts”) would get broken buffering behavior, as they would
start at the start of the backlog, not the end as they should.
This caused massively increased latency and/or problems playing back
the streams properly.
Cubemap 1.3.1, 2016-07-23
* Support Metacube timestamp blocks. This allows Metacube producers
to add timestamps at arbitrary places between blocks, which,
provided that the system clocks on both sides are in sync, allows
Cubemap to produce a latency measure. If the latency is very high
(and/or keeps going up), you will know that the network has problems
keeping up with transporting the stream, even in the absence of
other error messages.
At the time of release, only Nageru adds timestamp blocks;
VLC does not.
Cubemap 1.3.0, 2016-07-14
* Add an option for raw (non-Metacube) inputs over HTTP
(src_encoding=raw). Only really useful for TS.
* If a HTTP input fails multiple times, silence it in the error log
for the next minute. This reduces the amount of logging for a
permanently dead input stream by a lot, although of course,
such streams should generally just be removed from the
configuration altogether.
Cubemap 1.2.2, 2016-04-02
* Fix literal IPv6 address parsing in URLs.
* Fix a bug (introduced in 1.2.0) where access.log would have monotonic
timestamps (typically time since boot) instead of real time.
* Increase the Metacube block size warning limit from 1MB to 10MB, as MP4
muxing can legitimately create huge blocks.
Cubemap 1.2.1, 2015-08-30
* Use libsystemd to inform systemd accurately about when the service is up
and running. Note that this means Cubemap now also depends on libsystemd.
* Add a simple HTTP endpoint that returns a very short string (gen204),
for timing purposes.
* Document config options better in cubemap.config.sample.
Cubemap 1.2.0, 2015-07-24
* Add support for server-side prebuffering (force_prebuffering=NNN
on a stream to prebuffer that amount of bytes), where Cubemap doesn't
send any data before it knows it can send a certain number of
bytes without waiting for more from the input (either through
giving out old data, waiting for new data, or a combination).
This is useful when using jwPlayer or <video> in browsers, where
the client typically does not wait to fill up its buffer before it
starts playing, and thus will stay perenially in a low-buffer state.
Effectively it is forcing a certain amount of buffering on the client.
* Log the client's Referer: and User-Agent: header in the stats file and
access log.
* Time out clients that go more than 60 seconds without sending a request;
they could hang in that state for days and months before.
Cubemap 1.1.2, 2014-07-07
* Remove some leftover debug code that would cause compile errors.
Cubemap 1.1.1, 2014-07-06
* Fix parsing of IPv6 SSM URLs. Also add an example to the
configuration file.
* Change the default backlog size to 10 MB.
Cubemap 1.1.0, 2014-04-30
* Multicast support, both for sending and receiving;
both IPv4 and IPv6, both ASM and SSM.
* Drop support for fwmark, since it is obsolete with sch_fq
around.
* Many smaller bugfixes.
Cubemap 1.0.4, 2014-03-23
* Fix a segfault on reload that was introduced in 1.0.2.
* Remove the Metacube VLC patch, as it is now upstream.
* Always compile with large file support, which works around
a blocking issue with 32-bit x86.
Cubemap 1.0.3, 2014-02-06
* Fix a compilation error with newer glibc.
Cubemap 1.0.2, 2014-02-04
* Support SO_MAX_PACING_RATE (Linux 3.13 and above).
* Add a listen statement to listen only on specific IP addresses,
in addition to the port statement.
* Update the VLC Metacube patch to apply to current VLC git.
* Fix a crash bug on reload.
* Be more consistent about handling streams that have no data yet.
In particular, this could show itself as erratic behavior when
sending Metacube streams on to other Cubemap instances.
Cubemap 1.0.1, 2013-09-19
* Added NEWS file.
* Fix an issue where Cubemap could be slow when /tmp was slow
(ie., not on SSD and not on tmpfs), due to high mutex contention.
* Fix compilation on 32-bit systems.
* Various packaging fixes and a systemd service unit, contributed
by Philipp Kern.
* Use the new deleted-by-default temporary files if available
(Linux 3.11 and above).
Cubemap 1.0.0, 2013-08-24
* Initial release.
|