for intermediate calculations, dithered output.
- Proper sound support: Syncing of multiple unrelated sources through
- high-quality resampling, freely selectable input, cue out for headphones,
- dynamic range compression, simple EQ (low-cut), level meters conforming
- to EBU R128.
+ high-quality resampling, multichannel mixing with separate effects
+ per-bus, cue out for headphones, dynamic range compression,
+ three-band graphical EQ (pluss a fixed low-cut), level meters conforming
+ to EBU R128, automation via MIDI controllers.
- Theme engine encapsulating the design demands of each individual
event; Lua code is responsible for setting up the pixel processing
- Two or more Blackmagic USB3 or PCI cards, either HDMI or SDI.
The PCI cards need Blackmagic's own drivers installed. The USB3 cards
- are driven through the “bmusb” driver embedded in bmusb/, using libusb-1.0.
- You want a recent kernel and libusb-1.0; see below.
+ are driven through the “bmusb” driver, using libusb-1.0. If you want
+ zerocopy USB, you need libusb 1.0.21 or newer, as well as a recent
+ kernel (4.6.0 or newer). Zerocopy USB helps not only for performance,
+ but also for stability. You need at least version 0.6.0.
- Movit, my GPU-based video filter library (https://movit.sesse.net).
- You will need at least version 1.3.1.
+ You will need at least version 1.5.0.
- Qt 5.5 or newer for the GUI.
- Lua, for driving the theme engine.
+ - libpci, for printing friendly PCI device names in an error message.
+
If on Debian stretch or something similar, you can install everything you need
with:
- git submodule update --init
- apt install qtbase5-dev qt5-default pkg-config libmicrohttpd-dev \
+ apt install qtbase5-dev libqt5opengl5-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 libavresample-dev \
- libmovit-dev libegl1-mesa-dev libasound2-dev libx264-dev
-
-Exceptions as of June 2016:
+ libmovit-dev libegl1-mesa-dev libasound2-dev libx264-dev libbmusb-dev \
+ protobuf-compiler libprotobuf-dev libpci-dev
- - You need libusb 1.0.21 or newer (not yet released; you will need to
- use git) if you want zerocopy USB. Zerocopy USB helps not only for
- performance, but also for stability.
+Exceptions as of March 2017:
- - Nageru depends on an avformat API for marking block boundaries in the
- muxed byte stream that didn't enter ffmpeg before version 3.1.
+ - You will need Movit from experimental; stretch only has 1.4.0.
+ - You will need bmusb from experimental; stretch only has 0.5.4.
The patches/ directory contains a patch that helps zita-resampler performance.
It is meant for upstream, but was not in at the time Nageru was released.
If you have a fast CPU (typically a quadcore desktop; most laptops will spend
most of their CPU on running Nageru itself), you can use x264 for the outgoing
stream instead of Quick Sync; it is much better quality for the same bitrate,
-and also has proper bitrate controls. Simple add --http-x264-video on the
+and also has proper bitrate controls. Simply add --http-x264-video on the
command line. (You may also need to add something like "--x264-preset veryfast",
since the default "medium" preset might be too CPU-intensive, but YMMV.)
The stream saved to disk will still be the Quick Sync-encoded stream, as it is
Legalese: TL;DR: Everything is GPLv3-or-newer compatible, and see
-Intel's copyright license at h264encode.h.
+Intel's copyright license at quicksync_encoder.h.
Nageru is Copyright (C) 2015 Steinar H. Gunderson <steinar+nageru@gunderson.no>.
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Portions of h264encode.h and h264encode.cpp:
+Portions of quicksync_encoder.h and quicksync_encoder.cpp:
Copyright (c) 2007-2013 Intel Corporation. All Rights Reserved.