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