Nageru is a live video mixer, based around the standard M/E workflow.
-Futatabi is a multicamera slow motion video server (currently undocumented).
+Futatabi is a multicamera slow motion video server.
-Features:
+Nageru features:
- High performance on modest hardware (720p60 with two input streams
on my Thinkpad X240[1]); almost all pixel processing is done on the GPU.
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.3.
+ but also for stability. You need at least version 0.7.4.
- 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
- LuaJIT, for driving the theme engine. You will need at least version 2.1.
- - SQLite, for storing Futatabi state.
-
- 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.
is fine) and add -Dcef_dir=<path>/cef_binary_X.XXXX.XXXX.XXXXXXXX_linux64
on the meson command line (substituting X with the real version as required).
+ - 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).
+ 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.5.0.
+
+
+Futatabi also needs:
-If on Debian buster or something similar, you can install everything you need
+ - A fast GPU with OpenGL 4.5 support (GTX 1080 or similar recommended for
+ best quality at HD resolutions, although 950 should work).
+
+ - SQLite, for storing state.
+
+
+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
+ libprotobuf-dev libsqlite3-dev meson libjpeg-dev libsrt-gnutls-dev
-Exceptions as of December 2018:
+Exceptions as of July 2022:
- 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.
It is taken to be by Steinar H. Gunderson <sesse@google.com> (ie., my ex-work
email), and under the same license as zita-resampler itself.
-Nageru uses Meson to build. For a default build, type
+Nageru and Futatabi use Meson to build. For a default build (building both),
+type
meson obj && cd obj && ninja
-To start it, just hook up your equipment, and then type “./nageru”.
+To start Nageru, just 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;
it will make the USB3 threads do so, which will make them a lot more stable.
to throw or cast. (I also later learned that it could mean to face defeat or
give up, but that's not the intended meaning.)
+The name “Futatabi” comes from the Japanese adverb 再び (futatabi), which means
+“again” or “for the second time”.
+
Nageru's home page is at https://nageru.sesse.net/, where you can also find
contact information, full documentation and link to the latest version.
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.
+Portions Copyright (C) 2019 Yngve Molnes.
This program is free software: you can redistribute it and/or modify