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