- 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 (4.6.0 or newer) 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-rc1 or newer, as well as a recent
+ kernel (4.6.0 or newer). Zerocopy USB helps not only for performance,
+ but also for stability.
- Movit, my GPU-based video filter library (https://movit.sesse.net).
You will need at least version 1.3.1.
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
+ libmovit-dev libegl1-mesa-dev libasound2-dev libx264-dev libbmusb-dev
-Exceptions as of June 2016:
+Exceptions as of October 2016:
- - 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.
-
- - Nageru depends on an avformat API for marking block boundaries in the
- muxed byte stream that didn't enter ffmpeg before version 3.1.
+ - libusb 1.0.21-rc1 is not yet in stretch or sid; you need to fetch it
+ from experimental.
The patches/ directory contains a patch that helps zita-resampler performance.
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.