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