Nageru is a live video mixer, based around the standard M/E workflow.
-Features (those marked with * are still in progress or not started yet):
+Features:
- High performance on modest hardware (720p60 with two input streams
- on my Thinkpad X240); almost all pixel processing is done on the GPU.
+ on my Thinkpad X240[1]); almost all pixel processing is done on the GPU.
- High output quality; Lanczos3 scaling, subpixel precision everywhere,
- white balance adjustment (*), mix of 16- and 32-bit floating point
+ white balance adjustment, mix of 16- and 32-bit floating point
for intermediate calculations, dithered output.
- Proper sound support: Syncing of multiple unrelated sources through
- high-quality resampling, mixing (*), dynamic range compression (*),
- fixed EQ (*), level meters conforming to EBU R128.
+ high-quality resampling, freely selectable input, cue out for headphones,
+ dynamic range compression, simple EQ (lowpass), level meters conforming
+ to EBU R128.
- Theme engine encapsulating the design demands of each individual
- event; Lua code is responsible for setting up the pixel proessing
- pipelines causing transitions etc., so that the visual look is consistent
- between operators.
+ event; Lua code is responsible for setting up the pixel processing
+ pipelines, running transitions etc., so that the visual look is
+ consistent between operators.
+[1] For reference, that is: Core i7 4600U (dualcore 2.10GHz, clocks down
+to 800 MHz after 30 seconds due to thermal constraints), Intel HD Graphics
+4400 (ie., without the extra L4 cache from Iris Pro), single-channel DDR3 RAM
+(so 12.8 GB/sec theoretical memory bandwidth, shared between CPU and GPU).
-Nageru is in alpha stage. It currently needs:
+
+Nageru is in beta stage. It currently needs:
- An Intel processor with Intel Quick Sync, or otherwise some hardware
H.264 encoder exposed through VA-API.
- - Two Blackmagic USB3 cards, either HDMI or SDI. Note that on some machines,
- you may have to run a Linux kernel with power saving compiled out to avoid
- LPM (link power management) and bandwidth allocation issues with USB3.
- These are driven through the “bmusb“ driver embedded in bmusb/, using
- libusb-1.0.
+ - Two or more Blackmagic USB3 cards, either HDMI or SDI. These are driven
+ through the “bmusb” driver embedded in bmusb/, using libusb-1.0.
+ Note that you will want a recent Linux kernel to avoid LPM (link power
+ management) and bandwidth allocation issues with USB3.
- - Movit, my GPU-based video filter library (http://movit.sesse.net).
- Newer is almost certainly better; Nageru's needs tends to drive new
- features in Movit.
+ - Movit, my GPU-based video filter library (https://movit.sesse.net).
+ You will need at least version 1.3.0.
- Qt 5.5 or newer for the GUI.
11.x).
- libzita-resampler, for resampling sound sources so that they are in sync
- between sources.
+ between sources, and also for oversampling for the peak meter.
+
+ - Lua, for driving the theme engine.
+
+
+If on Debian sid or something similar (or stretch, once Movit 1.3.0 migrates),
+you can install everything you need with:
+ git submodule update --init
+ apt install qtbase5-dev qt5-default pkg-config libmicrohttpd-dev \
+ libusb-1.0-0-dev liblua5.2-dev libzita-resampler-dev libva-dev \
+ libavcodec-dev libavformat-dev libswscale-dev libmovit-dev
-To start it, just hook up your requipment, type “make” and then “./nageru”.
+
+The patches/ directory contains some patches for upstream software that help
+Nageru performance and/or stability. They are all meant for upstream, but
+probably will not be in by the time Nageru is released. All except the bmusb
+patch are taken to be by Steinar H. Gunderson <sesse@google.com> (ie., my work
+email, unlike Nageru itself and bmusb), and under the same license as the
+projects they patch.
+
+To start it, just hook up your equipment, type “make” and then “./nageru”.
It is strongly recommended to have the rights to run at real-time priority;
it will make the USB3 threads do so, which will make them a lot more stable.
(A reasonable hack for testing is probably just to run it as root using sudo,
-although you might not want to do that in production.)
+although you might not want to do that in production.) Note also that if you
+are running a desktop compositor, it will steal significant amounts of GPU
+performance. The same goes for PulseAudio.
Nageru will open a HTTP server at port 9095, where you can extract a live
-H264+MP3 signal in MPEG-TS mux (e.g. http://127.0.0.1:9095/stream.ts).
+H264+PCM signal in QuickTime mux (e.g. http://127.0.0.1:9095/stream.mov).
It is probably too high bitrate (~25 Mbit/sec depending on content) to send to
users, but you can easily send it around in your internal network and then
transcode it in e.g. VLC. A copy of the stream (separately muxed) will also
give up, but that's not the intended meaning.)
+Nageru's home page is at https://nageru.sesse.net/, where you can also find
+contact information and link to the latest version.
+
+
Legalese: TL;DR: Everything is GPLv3-or-newer compatible, and see
Intel's copyright license at h264encode.h.
Nageru is Copyright (C) 2015 Steinar H. Gunderson <sgunderson@bigfoot.com>.
-Portions Copyright (C) 2010-2011 Fons Adriaensen <fons@linuxaudio.org>.
+Portions Copyright (C) 2003 Rune Holm.
+Portions Copyright (C) 2010-2015 Fons Adriaensen <fons@linuxaudio.org>.
Portions Copyright (C) 2012-2015 Fons Adriaensen <fons@linuxaudio.org>.
+Portions Copyright (C) 2008-2015 Fons Adriaensen <fons@linuxaudio.org>.
Portions Copyright (c) 2007-2013 Intel Corporation. All Rights Reserved.