]> git.sesse.net Git - nageru/blobdiff - README
Update README for libsrt.
[nageru] / README
diff --git a/README b/README
index cd85e54fa12759449cdb77893ac0e5ccef4bd375..b55825d5599b79426b17d0645e799d282e06cff3 100644 (file)
--- a/README
+++ b/README
@@ -1,8 +1,8 @@
 Nageru is a live video mixer, based around the standard M/E workflow.
 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.
 
  - High performance on modest hardware (720p60 with two input streams
    on my Thinkpad X240[1]); almost all pixel processing is done on the GPU.
@@ -46,7 +46,7 @@ Nageru currently needs:
    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,
    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.
 
  - Movit, my GPU-based video filter library (https://movit.sesse.net).
    You will need at least version 1.5.2.
@@ -72,7 +72,13 @@ Nageru currently needs:
 
  - LuaJIT, for driving the theme engine. You will need at least version 2.1.
 
 
  - 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.
 
  - Meson, for building.
 
 
  - Meson, for building.
 
@@ -86,6 +92,20 @@ 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).
 
    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).
+   If you build with libsrt, make sure it is not linked to OpenSSL,
+   for license reasons.
+
+
+Futatabi also needs:
+
+ - 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 buster or something similar, you can install everything you need
 with:
 
 If on Debian buster or something similar, you can install everything you need
 with:
@@ -95,9 +115,9 @@ with:
     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 \
     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
 
 
-Exceptions as of December 2018:
+Exceptions as of June 2020:
 
   - Debian does not carry CEF (but it is optional). You can get experimental
     (and not security-supported) CEF Debian packages built for unstable at
 
   - 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 +125,29 @@ Exceptions as of December 2018:
 
      meson obj -Dcef_dir=/usr/lib/x86_64-linux-gnu/cef -Dcef_build_type=system -Dcef_no_icudtl=true
 
 
      meson obj -Dcef_dir=/usr/lib/x86_64-linux-gnu/cef -Dcef_build_type=system -Dcef_no_icudtl=true
 
+  - You will need bmusb from testing or unstable; buster only has 0.7.3.
+    Or, if you're using a git checkout, you can use a submodule:
+
+      git submodule init
+      git submodule update
+      meson obj -Dembedded_bmusb=true
+
+  - Debian's libsrt is built against OpenSSL, which makes it unsuitable
+    license-wise.
+
+
 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.
 
 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
 
 
   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.
 
 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 +188,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.)
 
 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.
 
 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 +206,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) 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
 
 
 This program is free software: you can redistribute it and/or modify