]> git.sesse.net Git - nageru/blobdiff - README
Set CEF autoplay policy to be more lenient.
[nageru] / README
diff --git a/README b/README
index cd85e54fa12759449cdb77893ac0e5ccef4bd375..60a67c73e30e582821f81189c1ca63466060563f 100644 (file)
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
 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.
@@ -36,35 +36,25 @@ to 800 MHz after 30 seconds due to thermal constraints), Intel HD Graphics
 
 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.3.
+   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.1.
 
  - 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
@@ -72,7 +62,11 @@ Nageru currently needs:
 
  - 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.
+
+ - Protocol Buffers (protobuf), for storing various forms of settings and
+   state.
 
  - Meson, for building.
 
@@ -86,18 +80,37 @@ Nageru currently needs:
    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 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
@@ -105,16 +118,19 @@ Exceptions as of December 2018:
 
      meson obj -Dcef_dir=/usr/lib/x86_64-linux-gnu/cef -Dcef_build_type=system -Dcef_no_icudtl=true
 
+
 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, 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.
@@ -155,6 +171,9 @@ The name “Nageru” is a play on the Japanese verb 投げる (nageru), which m
 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.
@@ -170,6 +189,7 @@ 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.
+Portions Copyright (C) 2019 Yngve Molnes.
 
 
 This program is free software: you can redistribute it and/or modify