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