X-Git-Url: https://git.sesse.net/?p=nageru;a=blobdiff_plain;f=NEWS;h=3a8af6314499f112db5c659f57dcaee5c2f2bcff;hp=9e5782921f503201c96a492985ab34e897f07c81;hb=refs%2Fheads%2Fmaster;hpb=5c6163ad5daa01b486e44c394dd7cc9878ec5df5 diff --git a/NEWS b/NEWS index 9e57829..2451613 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,601 @@ -Nageru 1.3.0, not released yet +Nageru and Futatabi 2.3.0, October 5th, 2023 + + - Support SRT output of the encoded stream, including + output to YouTube if your account is enabled for this + (beta testers only as of this release). This is useful + for push, and for bad networks (e.g. 4G). + + - Fix various deprecation warnings with newer FFmpeg + (Nageru should now be warning-free with FFmpeg 6.0). + This also means that Nageru now requires FFmpeg 5.1 + or newer. + + - Fix crashes with newer SVT-AV1. + + +Nageru and Futatabi 2.2.3, July 24th, 2023 + + - Fix startup crashes with newer libsrt. + + - Fix an issue where checkable theme menus would get the wrong + starting state. Reported by Stefano Rivera. + + +Nageru and Futatabi 2.2.2, July 15th, 2023 + + - Fix build breaks with newer GCC and SVT-AV1. + + +Nageru and Futatabi 2.2.1, April 17th, 2023 + + - Work around an issue with OpenGL on Wayland, causing all + displays to be blank. + + - Several fixes related to video inputs; in particular: + - Fix crashes when the master clock goes faster than 60 Hz + (which could happen primarily if an SRT input is the master). + - Be more resilient to errors in hardware video decoding + when the stream starts out broken (e.g., not on a key frame) + but recovers. + - Multiple fixes related to hardware acceleration on nVidia. + - Incoming frames of too high resolution (larger than 8 MB) + will be refused instead of crashing. Such videos may be + supported better in the future. + + +Nageru and Futatabi 2.2.0, November 15th, 2022 + + - Support AV1 output, via SVT-AV1. Note that this is still somewhat + experimental, not the least because SVT-AV1's streaming support + is not as mature as x264. + + - Remove the dependency on QCustomPlot. + + - Expose BlurEffect and UnsharpMaskEffect to the theme. + + - Clean up several rarely-unused command-line flags: + - All the 10-bit flags are now collapsed to --10-bit. + - Remove --http-uncompressed-video. + - Remove the x264 VBV flags. + - Hide --x264-speedcontrol-verbose. + - Hide --no-flush-pbos. + + - Make a workaround for audio monitoring output under PipeWire. + + - Update CEF compatibility (tested with CEF 107). + + +Nageru and Futatabi 2.1.0, February 6th, 2022 + + - Support unsynchronized HDMI/SDI output. + + This is for if you want just a monitor output without synchronizing + your entire stream chain to the output card (ie., you want to keep + some other camera as the master). Sound support is untested, and is + probably going to crackle a fair bit. + + There's no GUI support for changing this currently (you enable it + by using --output-card-unsynchronized and then using HDMI/SDI output + as usual). + + - Support sending a separate x264 encode to disk + (--separate-x264-disk-encode and associated --x264-separate-disk-* + flags). + + This is useful for machines that don't have Quick Sync, but where + you want to have an archival copy on disk in higher quality + than what you streamed out. + + - Fix compilation issues with FFmpeg 5.0. + + +Nageru and Futatabi 2.0.2, September 3rd, 2021 + + - Fix issues with various upstream software: + DeckLink 11.7 (and newer) drivers, FFmpeg 4.4, newer CEF. + + - Add a --no-transcode-video flag to Kaeru. + + This is useful primarily if you want Kaeru to rewrap the stream into + Metacube (for Cubemap) and do nothing else with it. Only H.264 + is supported for now, since everything else assumes that. + + +Nageru and Futatabi 2.0.1, July 9th, 2020 + + - Upgrade DeckLink SDK to 10.11.4. + + - Various bugfixes. + + +Nageru and Futatabi 2.0.0, June 2nd, 2020 + + - Native support for SRT inputs; by default, Nageru will listen + for incoming connections on port 9710 and treat them as hotplugged + cameras. They do not need any special handling in the theme, + and can pick up e.g. the SRT stream ID to be used in the UI. + They generally have fewer limitations than using an srt:// URL + on an FFmpeg capture; e.g., there is no forced scaling, and they + can be used as master clock (although this is not generally + recommended). + + For license reaseons, please be sure that libsrt does not link to + OpenSSL when building Nageru. + + - You do no longer need to set up a fixed amount of capture cards + at startup; by default, at least two will be created for you + (fake capture cards) as before, but if you have more, or hotplug + more, more slots will be automatically available, and will go + away (not take up any resources like fake capture cards do) + when unplugged. If you wish to artificially limit the maximum + number of cards like before, you can use the new switch + --max-num-cards. + + - MJPEG handling now includes 4:2:0 support in both Nageru and + Futatabi, as SRT inputs are often 4:2:0 and not 4:2:2. + + - FFmpeg capture cards (including SRT cards) now use VA-API + hardware acceleration for decoding whenever available. + + +Nageru and Futatabi 1.9.3, April 12th, 2020 + + - Support (video-only) V4L2 output. The intended use case is output into + v4l2loopback to get into videoconferencing or the likes: + + sudo apt install v4l2loopback-dkms + sudo modprobe v4l2loopback video_nr=2 card_label='Nageru loopback' max_width=1280 max_height=720 exclusive_caps=1 + nageru --v4l-output /dev/video2 + + Start Nageru before any readers. + + +Nageru and Futatabi 1.9.2, March 29th, 2020 + + - Support handling white balance directly in Nageru, without themes + manually inserting a WhiteBalanceEffect or handling set_wb(). + To use it, call scene:add_white_balance() instead of + scene:add_effect(WhiteBalanceEffect.new()). If using this functionality, + white balance will be properly propagated to the MJPEG feed and + through Futatabi, so that replays get the correct white balance. + Futatabi's UI will still be uncorrected, though. + + - Make it possible to siphon out a single MJPEG stream, for remote + debugging, single-camera recording, single-camera streaming via + Kaeru or probably other things. The URL for this is /feeds/N.mp4 + where N is the card index (starting from zero). + + - The theme can now access some audio settings; it can get (not set) + number of buses and names, get/set fader volume, get/set mute, + and get/set EQ parameters. + + - In Futatabi, it is now possible to set custom source labels, with + the parameter --source-label NUM:LABEL (or -l NUM:LABEL). + + - When the playback speed changes in Futatabi, ease into the new speed. + The easing period is nominally 200 ms, but it will be automatically + shortened or lengthened (up to as much as two seconds in extreme + cases, especially involving very slight speed change) if this + helps getting back into a cadence of hitting the original frames. + This can mean significant performance improvements when ramping + from higher speeds back into 100%. + + - Updates for newer versions of CEF (tested with Chrome 80). + + - Various bugfixes and performance improvements. + + +Nageru and Futatabi 1.9.1, November 17th, 2019 + + - Support disabling optional effects if a given other effect is _enabled_ + (typically for mutually exclusive effects). + + - Make it possible for the theme to override the status line, by declaring + a function format_status_line() in the theme. Inspired by a C++ patch by + Alex Thomazo in the Breizhcamp repository. + + - Various bugfixes. + + +Nageru and Futatabi 1.9.0, July 20th, 2019 + + - Significant reworking of the theme engine: Chains (now called scenes) + can now instantiate different versions behind-the-scenes instead of the + user having to worry about input types, low/high quality, or replacing + effects with others. Menus can have submenus and checkboxes. Finally, some + callbacks, such as num_channels(), have been replaced with easier-to-use + imperative functions, ie., an explicit call to Nageru.set_num_channels(N). + + See the documentation for more information, or the included themes, + which have been ported to the new interfaces. Existing themes will continue + to run without modification, but the old interfaces are deprecated. + + Martin Sandsmark contributed a bugfix to this work. + + - Support cross-compilation. Patch from Helmut Grohne. + + - Kaeru now has a parameter --disable-audio for transcoding streams + with no audio. + + - Various bugfixes. In particular, work around an issue where Mesa's shader + cache interacts with Qt's EGL support to create a confusing crash with + “vertex shader lacks `main'”. + + +Nageru and Futatabi 1.8.6, April 19th, 2019 + + - Filenames for the recordings are now without colons; it caused + too much problems with various software, including most players. + + - Various bugfixes. + + +Nageru and Futatabi 1.8.5, March 30th, 2019 + + - Experimental support for audio in Futatabi: The MJPEG export from + Nageru now supports audio, and Futatabi will store it and play it + back. Audio is currently only supported when playing at 100% speed + (no pitch shift or time stretching), and there is no audio output + to the Futatabi operator. + + - Significant optimizations to MJPEG encoding, both when in use and when + not in use. + + - Various bugfixes. + + +Nageru and Futatabi 1.8.4, March 11th, 2019 + + - Various bugfixes, in particular for 32-bit platforms. + + +Nageru and Futatabi 1.8.3, March 10th, 2019 + + - Allow controlling video mixing from MIDI events. Adapted from a patch + by Yann Dubreuil, from the BreizhCamp repository. + + - Use ALSA hardware timestamps for input; gives more stable delay. + Patch by Yann Dubreuil, from the BreizhCamp repository. + + - For FFmpeg inputs, add an option for playing as fast as possible + (set rate >= 10.0). + + - In Futatabi, support queueing and playing clips with no cue-out point. + This opens up for new and even faster UI workflows. + + - Many bugfixes. + + +Nageru and Futatabi 1.8.2, January 19th, 2019 + + - Futatabi now supports MIDI controllers like Nageru, including an editor + and a sample mapping for the Behringer CMD PL-1. + + - Futatabi now supports changing master speed during play, both via a + MIDI controller and the GUI. + + - Various bugfixes. + + +Nageru and Futatabi 1.8.1, December 30th, 2018 + + - Futatabi can now communicate its queue status through a subtitle track, + and Nageru can consume it. This allows Nageru themes to get precise + information programmatically, e.g. to show status or automatically + switch away when the queue is about to end. + + - Futatabi can now reuse the computed flow across successive frames when + interpolating between the same frame pair. This significantly reduces + the GPU load when doing super-slow motion (slower than 0.5x). + + - Various smaller fixes. + + +Nageru and Futatabi 1.8.0, December 20th, 2018 + + - Initial release of Futatabi, a multicamera slow motion video server + designed to be used with Nageru. Futatabi is currently in alpha stage + and largely undocumented. + + - Add support for multi-camera export from Nageru. A multi-camera stream + contains all frames from all camera inputs (unless overridden by + --mjpeg-export-cards), unprocessed except for MJPEG encoding. + MJPEG encoding is done in hardware (via VA-API) on Skylake or newer, + or using libjpeg otherwise. The intended user of this stream is Futatabi. + + +Nageru 1.7.5, November 11th, 2018 + + - Fix a bug where --record-x264-video would not work when VA-API was + not present, making the option rather useless (broken in 1.7.2). + Bug reported by Peter De Schrijver. + + - The build system has been switched to Meson; see the README for new + build instructions. + + - Various smaller fixes. + + +Nageru 1.7.4, August 31st, 2018 + + - Rework the x264 speedcontrol presets, again. (They earlier assumed + we could control B-frame settings on the fly, which we cannot with + threaded lookahead.) Also support x264 >= 153, which can support + multiple bit depths in the same library. + + - Default to SDI inputs instead of HDMI. + + - Add a mode to run in full screen (--fullscreen). Adapted from a patch + by Yoann Dubreuil. + + - Add support for lift/gamma/gain in the theme. Patch by Alexandre Thomazo. + + +Nageru 1.7.3, May 22nd, 2018 + + - When using multichannel audio, add a control for adjusting the + stereo width (from normal stereo to mono, all the way to + inverted stereo). + + - Removed --http-coarse-timebase (it is now always on). + + - Various bugfixes. + + +Nageru 1.7.2, April 28th, 2018 + + - Several improvements to video (FFmpeg) inputs: You can now use + them as audio sources, you can right-click on video channels + to change URL/filename on-the-fly, themes can ask for forced + disconnection (useful for network sources that are hanging), + and various other improvements. Be aware that the audio support + may still be somewhat rough, as A/V sync of arbitrary video + playout is a hard problem. + + - The included themes have been fixed to properly make the returned + chain preparation functions independent of global state (e.g. if + the white balance for a channel was changed before the frame was + actually rendered). If you are using a custom theme, you may want + to apply similar fixes to it. + + - In Metacube stream output, mark each keyframe with a pts metadata + block. This allows Cubemap 1.4.0 or newer to serve fMP4 fragments + for HLS from Nageru's output, without any further remuxing or + transcoding. + + - If needed, Nageru will now automatically try to autodetect a + usable --va-display parameter by probing all DRM nodes for H.264 + encoders. This removes the need to set --va-display in almost all + cases, and also removes the dependency on libpci. + + - For GPUs that support querying available memory (in practice only + NVIDIA GPUs at the current time), expose the amount of used/total + GPU memory both on standard output and in the Prometheus metrics + (as well as included Grafana dashboard). + + - The Grafana dashboard now supports heatmaps for the chosen x264 + speedcontrol preset (requires Grafana 5.1 or newer). (There used to + be a heatmap earlier, but it was all broken.) + + - Various bugfixes. + + +Nageru 1.7.1, March 26th, 2018 + + - Various bugfixes, mostly related to HTML and video inputs. + + +Nageru 1.7.0, March 8th, 2018 + + - Support for HTML5 graphics directly in Nageru, through CEF + (Chromium Embedded Framework). This performs better and is more + flexible than integrating with CasparCG over a socket. Note that + CEF is an optional component; see the documentation for more + information. + + - Add an HTTP endpoint for enumerating channels and one for getting + only their colors. Intended for remote tally applications; + set the documentation. + + - Add a video grid display that removes the audio controls and shows + the video channels only, potentially in multiple rows if that makes + for a larger viewing area. + + - Themes can now present simple menus in the Nageru UI. See the + documentation for more information. + + - Various bugfixes. + + +Nageru 1.6.4, January 25th, 2018 + + - Fix compilation with the upcoming FFmpeg 3.5. + + - Switch to LuaJIT for the theme engine, which is faster. + + - Various bugfixes and smaller optimizations. + + +Nageru 1.6.3, November 8th, 2017 + + - Add quick-cut keys (Q, W, E, etc.) below the preview keys. + Since it's easy to hit these by accident and put up a signal + you didn't want, they are disabled by default (they can be + enabled in the video menu, or with the command line flag + --quick-cut-keys). + + - Rework the x264 speedcontrol presets to better match newer + x264 versions. + + - Add an option for changing the HTTP port (--http-port). + + - Various smaller bug and integration fixes. + + +Nageru 1.6.2, July 16th, 2017 + + - Various smaller Kaeru fixes, mostly around metrics. Also, + you can now adjust the x264 bitrate in Kaeru (in 100 kbit/sec + increments) by sending SIGUSR1 (higher) or SIGUSR2 (lower). + + +Nageru 1.6.1, July 9th, 2017 + + - Add native export of Prometheus metrics. + + - Rework the frame queue drop algorithm. The new one should handle tricky + situations much better, especially when a card is drifting very slowly + against the master timer. + + - Add Kaeru, an experimental transcoding tool based on Nageru code. + Kaeru can run headless on a server without a GPU to transcode a + Nageru stream into a lower-bitrate one, replacing VLC. + + - Work around a bug in some versions of NVIDIA's OpenGL drivers that would + crash Nageru after about three hours (fix in cooperation with Movit). + + - Fix a crash with i965-va-driver 1.8.x. + + - Reduce mutex contention in certain critical places, causing lower tail + latency in the mixer. + + +Nageru 1.6.0, May 29th, 2017 + + - Add support for having videos (from file or from URL) as a separate + input channels, albeit with some limitations. Apart from the obvious use of + looping pause clips or similar, this can be used to integrate with CasparCG; + see the manual for more details. + + - Add a frame analyzer (accessible from the Video menu) containing an + RGB histogram and a color dropped tool. This is useful in calibrating + video chains by playing back a known signal. Note that this adds a + dependency on QCustomPlot. + + - Allow overriding Y'CbCr input interpretation, for inputs that don't + use the correct settings. Also, Rec. 601 is now used by default instead + of Rec. 709 for SD resolutions. + + - Support other sample rates than 48000 Hz from bmusb. + + +Nageru 1.5.0, April 5th, 2017 + + - Support for low-latency HDMI/SDI output in addition to (or instead of) the + stream. This currently only works with DeckLink cards, not bmusb. See the + manual for more information. + + - Support changing the resolution from the command line, instead of locking + everything to 1280x720. + + - The A/V sync code has been rewritten to be more in line with Fons + Adriaensen's original paper. It handles several cases much better, + in particular when trying to match 59.94 and 60 Hz sources to each other. + However, it might occasionally need a few extra seconds on startup to + lock properly if startup is slow. + + - Add support for using x264 for the disk recording. This makes it possible, + among other things, to run Nageru on a machine entirely without VA-API + support. + + - Support for 10-bit Y'CbCr, both on input and output. (Output requires + x264 disk recording, as Quick Sync Video does not support 10-bit H.264.) + This requires compute shader support, and is in general a little bit + slower on input and output, due to the extra amount of data being shuffled + around. Intermediate precision is 16-bit floating-point or better, + as before. + + - Enable input mode autodetection for DeckLink cards that support it. + (bmusb mode has always been autodetected.) + + - Add functionality to add a time code to the stream; useful for debugging + latency. + + - The live display is now both more performant and of higher image quality. + + - Fix a long-standing issue where the preview displays would be too bright + when using an NVIDIA GPU. (This did not affect the finished stream.) + + - Many other bugfixes and small improvements. + + +Nageru 1.4.2, November 24th, 2016 + + - Fix a thread race that would sometimes cause x264 streaming to go awry. + + +Nageru 1.4.1, November 6th, 2016 + + - Various bugfixes. + + +Nageru 1.4.0, October 26th, 2016 + + - Support for multichannel (or more accurately, multi-bus) audio, + choosable from the UI or using the --multichannel command-line + flag. In multichannel mode, you can take in inputs from multiple + different sources (or different channels on the same source, for + multichannel sound cards), apply effects to them separately and then + mix them together. This includes both audio from the video cards + as well as ALSA inputs, including hotplug. Ola Gundelsby contributed + invaluable feedback on this feature throughout the entire + development cycle. + + - Support for having MIDI controllers control various aspects of the + audio UI, with relatively flexible mapping. Note that different + MIDI controllers can vary significantly in what protocol they speak, + so Nageru will not necessarily work with all. (The primary testing + controller has been the Akai MIDImix, and a pre-made mapping for + that is included. The Korg nanoKONTROL2 has also been tested and + works, but it requires some Korg-specific SysEx commands to make + the buttons and lights work.) + + - Add a disk space indicator to the main window. + + - Various bugfixes. In particular, an issue where the audio would pitch + up sharply after a series of many dropped frames has been fixed. + + +Nageru 1.3.4, August 2nd, 2016 + + - Various bugfixes. + + +Nageru 1.3.3, July 27th, 2016 + + - Various changes to make distribution packaging easier; in particular, + theme data can be picked up from /usr/local/share/nageru. + + - Fix various FFmpeg deprecation warnings, now that we need FFmpeg + 3.1 for other reasons anyway. + + +Nageru 1.3.2, July 23rd, 2016 + + - Allow limited hotplugging (unplugging and replugging) of USB cards. + You can use the new command-line option --num-fake-cards (-C) to add + fake cards that show only a single color and that will be replaced + by real cards as you plug them in; you can also unplug cards and have + them be replaced by fake cards. Fake cards can also be used for testing + Nageru without actually having any video cards available. + + - Add Metacube timestamping of every keyframe, for easier detection of + streams not keeping up. Works with the new timestamp feature of + Cubemap 1.3.1. Will be ignored (save for some logging) in older + Cubemap versions. + + - The included default theme has been reworked and cleaned up to be + more understandable and extensible. + + - Add more command-line options for initial audio setup. + + +Nageru 1.3.1, July 1st, 2016 + + - Various display bugfixes. + + +Nageru 1.3.0, June 26th, 2016 - It is now possible, given enough CPU power (e.g., a quad-core Haswell or faster desktop CPU), to output a stream that is suitable for streaming @@ -20,6 +617,12 @@ Nageru 1.3.0, not released yet - You can now override the default stream-to-card mapping with --map-signal= on the command line. + - Nageru now tries to lock itself into RAM if it has the permissions to do + so, for better realtime behavior. (Writing the stream to disk tends to + fill the buffer cache, eventually paging less-used parts of Nageru out.) + + - Various fixes for deadlocks, memory leaks, and many other errors. + Nageru 1.2.1, April 15th, 2016