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