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