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