Nageru currently needs:
- - An Intel processor with Intel Quick Sync, or otherwise some hardware
- H.264 encoder exposed through VA-API. Note that you can use VA-API over
- DRM instead of X11, to use a non-Intel GPU for rendering but still use
- Quick Sync (Nageru does this automatically for you if needed).
-
- - Two or more Blackmagic USB3 or PCI cards, either HDMI or SDI.
+ - Some sort of video capture cards; typically two or more Blackmagic USB3
+ or PCI cards, either HDMI or SDI (V4L2 is not generally supported).
The PCI cards need Blackmagic's own drivers installed. The USB3 cards
- 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.7.4.
+ are driven through the “bmusb” driver, using libusb-1.0.
- Movit, my GPU-based video filter library (https://movit.sesse.net).
You will need at least version 1.5.2.
- Qt 5.5 or newer for the GUI.
- - QCustomPlot for the histogram display in the frame analyzer.
-
- libmicrohttpd for the embedded web server.
- x264 for encoding high-quality video suitable for streaming to end users.
- FFmpeg for muxing, and for encoding audio. You will need at least
- version 4.0.
+ version 5.0.
- Working OpenGL; Movit works with almost any modern OpenGL implementation.
- Nageru has been tested with Intel on Mesa (you want 11.2 or newer, due
- to critical stability bugfixes), and with NVIDIA's proprietary drivers.
+ Nageru has been tested with Intel on Mesa, and with NVIDIA's proprietary drivers.
The status of AMD's proprietary drivers is currently unknown.
- libzita-resampler, for resampling sound sources so that they are in sync
- libjpeg, for encoding MJPEG streams when VA-API JPEG support is not
available.
- - Zita-resampler, for adjusting audio to be in sync with video.
-
- Protocol Buffers (protobuf), for storing various forms of settings and
state.
- Optional: libsrt, for SRT inputs (by default, Nageru will listen on
port 9710, although you can change this port on the command line,
turn it off with --srt-port -1, or turn it off live in the UI).
- If you build with libsrt, make sure it is not linked to OpenSSL,
- for license reasons.
+ SRT can also be used for output in addition to listening for HTTP
+ (see --srt-destination). If you build with libsrt, make sure it is not
+ linked to OpenSSL, for license reasons.
- Optional: SVT-AV1, for encoding high-quality video suitable for streaming to
end users (higher quality than using x264, but not nearly as mature).
- You will need at least version 1.0.0.
+ You will need at least version 1.5.0.
Futatabi also needs:
- SQLite, for storing state.
-If on Debian bullsey or something similar, you can install everything you need
+If on Debian bullseye or something similar, you can install everything you need
with:
- apt install qtbase5-dev libqt5opengl5-dev qt5-default libqcustomplot-dev \
+ apt install qtbase5-dev libqt5opengl5-dev qt5-default \
pkg-config libmicrohttpd-dev libusb-1.0-0-dev libluajit-5.1-dev \
libzita-resampler-dev libva-dev libavcodec-dev libavformat-dev \
libswscale-dev libavresample-dev libmovit-dev libegl1-mesa-dev \
libasound2-dev libx264-dev libbmusb-dev protobuf-compiler \
libprotobuf-dev libsqlite3-dev meson libjpeg-dev libsrt-gnutls-dev
-Exceptions as of July 2022:
+Exceptions as of September 2023:
- Debian does not carry CEF (but it is optional). You can get experimental
(and not security-supported) CEF Debian packages built for unstable at
meson obj -Dcef_dir=/usr/lib/x86_64-linux-gnu/cef -Dcef_build_type=system -Dcef_no_icudtl=true
- - Debian's SVT-AV1 is too old, so you will need to compile it yourself
- if you wish to use it for streaming.
-
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.
meson obj && cd obj && ninja
-To start Nageru, just hook up your equipment, and then type “./nageru”.
+To start Nageru, hook up your equipment, and then type “./nageru”.
For Futatabi documentation, please see https://nageru.sesse.net/doc/.
It is strongly recommended to have the rights to run at real-time priority;