]> git.sesse.net Git - nageru/blob - NEWS
Make duplicated rows show up after the old ones, and also give them new IDs.
[nageru] / NEWS
1 Nageru and Futatabi 1.8.0, December 20th, 2018
2
3   - Initial release of Futatabi, a multicamera slow motion video server
4     designed to be used with Nageru. Futatabi is currently in alpha stage
5     and largely undocumented.
6
7   - Add support for multi-camera export from Nageru. A multi-camera stream
8     contains all frames from all camera inputs (unless overridden by
9     --mjpeg-export-cards), unprocessed except for MJPEG encoding.
10     MJPEG encoding is done in hardware (via VA-API) on Skylake or newer,
11     or using libjpeg otherwise. The intended user of this stream is Futatabi.
12
13
14 Nageru 1.7.5, November 11th, 2018
15
16   - Fix a bug where --record-x264-video would not work when VA-API was
17     not present, making the option rather useless (broken in 1.7.2).
18     Bug reported by Peter De Schrijver.
19
20   - The build system has been switched to Meson; see the README for new
21     build instructions.
22
23   - Various smaller fixes.
24
25
26 Nageru 1.7.4, August 31st, 2018
27
28   - Rework the x264 speedcontrol presets, again. (They earlier assumed
29     we could control B-frame settings on the fly, which we cannot with
30     threaded lookahead.) Also support x264 >= 153, which can support
31     multiple bit depths in the same library.
32
33   - Default to SDI inputs instead of HDMI.
34
35   - Add a mode to run in full screen (--fullscreen). Adapted from a patch
36     by Yoann Dubreuil.
37
38   - Add support for lift/gamma/gain in the theme. Patch by Alexandre Thomazo.
39
40
41 Nageru 1.7.3, May 22nd, 2018
42
43   - When using multichannel audio, add a control for adjusting the
44     stereo width (from normal stereo to mono, all the way to
45     inverted stereo).
46
47   - Removed --http-coarse-timebase (it is now always on).
48
49   - Various bugfixes.
50
51
52 Nageru 1.7.2, April 28th, 2018
53
54   - Several improvements to video (FFmpeg) inputs: You can now use
55     them as audio sources, you can right-click on video channels
56     to change URL/filename on-the-fly, themes can ask for forced
57     disconnection (useful for network sources that are hanging),
58     and various other improvements. Be aware that the audio support
59     may still be somewhat rough, as A/V sync of arbitrary video
60     playout is a hard problem.
61
62   - The included themes have been fixed to properly make the returned
63     chain preparation functions independent of global state (e.g. if
64     the white balance for a channel was changed before the frame was
65     actually rendered). If you are using a custom theme, you may want
66     to apply similar fixes to it.
67
68   - In Metacube stream output, mark each keyframe with a pts metadata
69     block. This allows Cubemap 1.4.0 or newer to serve fMP4 fragments
70     for HLS from Nageru's output, without any further remuxing or
71     transcoding.
72
73   - If needed, Nageru will now automatically try to autodetect a
74     usable --va-display parameter by probing all DRM nodes for H.264
75     encoders. This removes the need to set --va-display in almost all
76     cases, and also removes the dependency on libpci.
77
78   - For GPUs that support querying available memory (in practice only
79     NVIDIA GPUs at the current time), expose the amount of used/total
80     GPU memory both on standard output and in the Prometheus metrics
81     (as well as included Grafana dashboard).
82
83   - The Grafana dashboard now supports heatmaps for the chosen x264
84     speedcontrol preset (requires Grafana 5.1 or newer). (There used to
85     be a heatmap earlier, but it was all broken.)
86
87   - Various bugfixes.
88
89
90 Nageru 1.7.1, March 26th, 2018
91
92   - Various bugfixes, mostly related to HTML and video inputs.
93
94
95 Nageru 1.7.0, March 8th, 2018
96
97   - Support for HTML5 graphics directly in Nageru, through CEF
98     (Chromium Embedded Framework). This performs better and is more
99     flexible than integrating with CasparCG over a socket. Note that
100     CEF is an optional component; see the documentation for more
101     information.
102
103   - Add an HTTP endpoint for enumerating channels and one for getting
104     only their colors. Intended for remote tally applications;
105     set the documentation.
106
107   - Add a video grid display that removes the audio controls and shows
108     the video channels only, potentially in multiple rows if that makes
109     for a larger viewing area.
110
111   - Themes can now present simple menus in the Nageru UI. See the
112     documentation for more information.
113
114   - Various bugfixes.
115
116
117 Nageru 1.6.4, January 25th, 2018
118
119   - Fix compilation with the upcoming FFmpeg 3.5.
120
121   - Switch to LuaJIT for the theme engine, which is faster.
122
123   - Various bugfixes and smaller optimizations.
124
125
126 Nageru 1.6.3, November 8th, 2017
127
128   - Add quick-cut keys (Q, W, E, etc.) below the preview keys.
129     Since it's easy to hit these by accident and put up a signal
130     you didn't want, they are disabled by default (they can be
131     enabled in the video menu, or with the command line flag
132     --quick-cut-keys).
133
134   - Rework the x264 speedcontrol presets to better match newer
135     x264 versions.
136
137   - Add an option for changing the HTTP port (--http-port).
138
139   - Various smaller bug and integration fixes.
140
141
142 Nageru 1.6.2, July 16th, 2017
143
144   - Various smaller Kaeru fixes, mostly around metrics. Also,
145     you can now adjust the x264 bitrate in Kaeru (in 100 kbit/sec
146     increments) by sending SIGUSR1 (higher) or SIGUSR2 (lower).
147
148
149 Nageru 1.6.1, July 9th, 2017
150
151   - Add native export of Prometheus metrics.
152
153   - Rework the frame queue drop algorithm. The new one should handle tricky
154     situations much better, especially when a card is drifting very slowly
155     against the master timer.
156
157   - Add Kaeru, an experimental transcoding tool based on Nageru code.
158     Kaeru can run headless on a server without a GPU to transcode a
159     Nageru stream into a lower-bitrate one, replacing VLC.
160
161   - Work around a bug in some versions of NVIDIA's OpenGL drivers that would
162     crash Nageru after about three hours (fix in cooperation with Movit).
163
164   - Fix a crash with i965-va-driver 1.8.x.
165
166   - Reduce mutex contention in certain critical places, causing lower tail
167     latency in the mixer.
168
169
170 Nageru 1.6.0, May 29th, 2017
171
172   - Add support for having videos (from file or from URL) as a separate
173     input channels, albeit with some limitations. Apart from the obvious use of
174     looping pause clips or similar, this can be used to integrate with CasparCG;
175     see the manual for more details.
176
177   - Add a frame analyzer (accessible from the Video menu) containing an
178     RGB histogram and a color dropped tool. This is useful in calibrating
179     video chains by playing back a known signal. Note that this adds a
180     dependency on QCustomPlot.
181
182   - Allow overriding Y'CbCr input interpretation, for inputs that don't
183     use the correct settings. Also, Rec. 601 is now used by default instead
184     of Rec. 709 for SD resolutions.
185
186   - Support other sample rates than 48000 Hz from bmusb.
187
188
189 Nageru 1.5.0, April 5th, 2017
190
191   - Support for low-latency HDMI/SDI output in addition to (or instead of) the
192     stream. This currently only works with DeckLink cards, not bmusb. See the
193     manual for more information.
194
195   - Support changing the resolution from the command line, instead of locking
196     everything to 1280x720.
197
198   - The A/V sync code has been rewritten to be more in line with Fons
199     Adriaensen's original paper. It handles several cases much better,
200     in particular when trying to match 59.94 and 60 Hz sources to each other.
201     However, it might occasionally need a few extra seconds on startup to
202     lock properly if startup is slow.
203
204   - Add support for using x264 for the disk recording. This makes it possible,
205     among other things, to run Nageru on a machine entirely without VA-API
206     support.
207
208   - Support for 10-bit Y'CbCr, both on input and output. (Output requires
209     x264 disk recording, as Quick Sync Video does not support 10-bit H.264.)
210     This requires compute shader support, and is in general a little bit
211     slower on input and output, due to the extra amount of data being shuffled
212     around. Intermediate precision is 16-bit floating-point or better,
213     as before.
214
215   - Enable input mode autodetection for DeckLink cards that support it.
216     (bmusb mode has always been autodetected.)
217
218   - Add functionality to add a time code to the stream; useful for debugging
219     latency.
220
221   - The live display is now both more performant and of higher image quality.
222
223   - Fix a long-standing issue where the preview displays would be too bright
224     when using an NVIDIA GPU. (This did not affect the finished stream.)
225
226   - Many other bugfixes and small improvements.
227
228
229 Nageru 1.4.2, November 24th, 2016
230
231   - Fix a thread race that would sometimes cause x264 streaming to go awry.
232
233
234 Nageru 1.4.1, November 6th, 2016
235
236   - Various bugfixes.
237
238
239 Nageru 1.4.0, October 26th, 2016
240
241   - Support for multichannel (or more accurately, multi-bus) audio,
242     choosable from the UI or using the --multichannel command-line
243     flag. In multichannel mode, you can take in inputs from multiple
244     different sources (or different channels on the same source, for
245     multichannel sound cards), apply effects to them separately and then
246     mix them together. This includes both audio from the video cards
247     as well as ALSA inputs, including hotplug. Ola Gundelsby contributed
248     invaluable feedback on this feature throughout the entire
249     development cycle.
250
251   - Support for having MIDI controllers control various aspects of the
252     audio UI, with relatively flexible mapping. Note that different
253     MIDI controllers can vary significantly in what protocol they speak,
254     so Nageru will not necessarily work with all. (The primary testing
255     controller has been the Akai MIDImix, and a pre-made mapping for
256     that is included. The Korg nanoKONTROL2 has also been tested and
257     works, but it requires some Korg-specific SysEx commands to make
258     the buttons and lights work.)
259
260   - Add a disk space indicator to the main window.
261
262   - Various bugfixes. In particular, an issue where the audio would pitch
263     up sharply after a series of many dropped frames has been fixed.
264
265
266 Nageru 1.3.4, August 2nd, 2016
267
268   - Various bugfixes.
269
270
271 Nageru 1.3.3, July 27th, 2016
272
273   - Various changes to make distribution packaging easier; in particular,
274     theme data can be picked up from /usr/local/share/nageru.
275
276   - Fix various FFmpeg deprecation warnings, now that we need FFmpeg
277     3.1 for other reasons anyway.
278
279
280 Nageru 1.3.2, July 23rd, 2016
281
282   - Allow limited hotplugging (unplugging and replugging) of USB cards.
283     You can use the new command-line option --num-fake-cards (-C) to add
284     fake cards that show only a single color and that will be replaced
285     by real cards as you plug them in; you can also unplug cards and have
286     them be replaced by fake cards. Fake cards can also be used for testing
287     Nageru without actually having any video cards available.
288
289   - Add Metacube timestamping of every keyframe, for easier detection of
290     streams not keeping up. Works with the new timestamp feature of
291     Cubemap 1.3.1. Will be ignored (save for some logging) in older
292     Cubemap versions.
293
294   - The included default theme has been reworked and cleaned up to be
295     more understandable and extensible.
296
297   - Add more command-line options for initial audio setup.
298
299
300 Nageru 1.3.1, July 1st, 2016
301
302  - Various display bugfixes.
303
304
305 Nageru 1.3.0, June 26th, 2016
306
307  - It is now possible, given enough CPU power (e.g., a quad-core Haswell or
308    faster desktop CPU), to output a stream that is suitable for streaming
309    directly to end users without further transcoding. In particular, this
310    includes support for encoding the network stream with x264 (the stream
311    saved to disk is still done using Quick Sync), for Metacube framing (for
312    streaming to the Cubemap reflector), and for choosing the network stream
313    mux. For more information, see the README.
314
315  - Add a flag (--disable-alsa-output) to disable ALSA monitoring output.
316
317  - Do texture uploads from the main thread instead of from separate threads;
318    may or may not improve stability with NVIDIA's proprietary drivers.
319
320  - When beginning a new video segment, the shutdown of the old encoder
321    is now done in a background thread, in order to not disturb the external
322    stream. The audio still goes into a somewhat random stream, though.
323
324  - You can now override the default stream-to-card mapping with --map-signal=
325    on the command line.
326
327  - Nageru now tries to lock itself into RAM if it has the permissions to do
328    so, for better realtime behavior. (Writing the stream to disk tends to
329    fill the buffer cache, eventually paging less-used parts of Nageru out.)
330
331  - Various fixes for deadlocks, memory leaks, and many other errors.
332
333
334 Nageru 1.2.1, April 15th, 2016
335
336  - Images are now updated from disk about every second, so that it is possible
337    to update e.g. overlays during streaming, although somewhat slowly.
338
339  - Fix support for PNG images.
340
341  - You can now send SIGHUP to start a new cut instead of using the menu.
342
343  - Added a --help option.
344
345  - Various tweaks to OpenGL fence handling.
346
347
348 Nageru 1.2.0, April 6th, 2016
349
350  - Support for Blackmagic's PCI and Thunderbolt cards, using the official
351    (closed-source) Blackmagic drivers. (You do not need the SDK installed, though.)
352    You can use PCI and USB cards pretty much interchangeably.
353
354  - Much more stable handling of frame queues on non-master cards. In particular,
355    you can have a master card on 50 Hz and another card on 60 Hz without getting
356    lots of warning messages and a 10+ frame latency on the second card.
357
358  - Many new options in the right click menu on cards: Adjustable video inputs,
359    adjustable audio inputs, adjustable resolutions, ability to select card for
360    master clock.
361
362  - Add support for starting with almost all audio processing turned off
363    (--flat-audio).
364
365  - The UI now marks inputs with red or green to mark them as participating in
366    the live or preview signal, respectively. Red takes priority. (Actually,
367    it merely asks the theme for a color for each input; the theme contains
368    the logic.)
369
370  - Add support for uncompressed video instead of H.264 on the HTTP server,
371    while still storing H.264 to files (--http-uncompressed-video). Note that
372    depending on your client, this might not actually be more CPU efficient
373    even on localhost, so be sure to check.
374
375  - Add a simpler, less featureful theme (simple.lua) that should be easier to
376    understand for beginners. Themes are now also choosable with -t on the command
377    line.
378
379  - Too many bugfixes and small tweaks to list. In particular, many memory leaks
380    in the streaming part have been identified and fixed.
381
382
383 Nageru 1.1.0, February 24th, 2016
384
385  - Support doing the H.264 encoding on a different graphics device from the one
386    doing the mixing. In particular, this makes it possible to use Nageru on an
387    NVIDIA GPU while still encoding H.264 video using Intel Quick Sync (NVENC
388    is not supported yet) -- it is less efficient since the data needs to be read
389    back via the CPU, but the NVIDIA cards and drivers are so much faster that it
390    doesn't really matter. Tested on a GTX 950 with the proprietary drivers.
391
392  - In the included example theme, fix fading to/from deinterlaced sources.
393
394  - Various smaller compilation, distribution and documentation fixes.
395
396
397 Nageru 1.0.0, January 30th, 2016
398
399  - Initial release.