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