]> git.sesse.net Git - nageru-docs/blobdiff - futatabi.rst
Link fix and a small correction.
[nageru-docs] / futatabi.rst
index 171f861f25c59853dde675b30106d21fbe7f7a88..f6c6574ce5dc765d7b6f310f375010ff22ba20b2 100644 (file)
@@ -56,7 +56,7 @@ input or output. Assuming you have a recent version of Nageru (typically one
 that comes with Futatabi), it is capable of sending all of its cameras as one
 video stream (see :ref:`futatabiformat`), so you can start Futatabi with
 
-  ./futatabi http://path.to.nageru.host/multicam.mp4
+  ./futatabi http://nageru-server.example.org/multicam.mp4
 
 If you do not have a running Nageru installation, see :ref:`sampledata`.
 
@@ -85,7 +85,7 @@ Basic UI operations
 
 Nageru can be operated using either the keyboard and mouse, or using a MIDI
 controller with some help of the mouse. In this section, we will be discussing
-the keyboard and mouse only; see :ref:`midi` for details on using MIDI
+the keyboard and mouse only; see :ref:`midi-futatabi` for details on using MIDI
 controllers.
 
 A clip in the clip list consists simply of an in and an out point; it represents
@@ -115,6 +115,11 @@ to cut to your channel, click on the first clip you want to play back and
 click the “Play” button (space on the keyboard); the result will both be
 visible in the top screen and go out live over the network to Nageru.
 
+.. _speed:
+
+Controlling the playback speed
+''''''''''''''''''''''''''''''
+
 .. _coop:
 
 Working with your producer
@@ -265,16 +270,45 @@ from frame to frame; this is because for original (uninterpolated) frames,
 Futatabi will simply output the received JPEG frame directly to the output
 stream, which can be a different resolution from the interpolated frames.
 
+Also, even though Futatabi exists to make a fixed-framerate stream out of
+something that's not, the output stream can be variable-framerate (VFR) due to
+pauses and frame drops. In particular, when the stream is paused, frames are
+only output about every 100 milliseconds.
+
 Finally, the subtitle track with status information (see :ref:`talkback`) is
 not marked as metadata due to FFmpeg limitations, and as such will show up
 raw in subtitle-enabled players.
 
 
-.. _midi:
+.. _midi-futatabi:
 
 Using MIDI controllers
 ----------------------
 
+This section assumes you have already read the section about
+`MIDI controllers in Nageru <audio.html#midi-controllers>`__. MIDI controllers
+in Futatabi are fairly similar, but there are also some important differences,
+since they control replay and not audio:
+
+  * There is no concept of a bus (there is only one video output channel).
+    Thus, the concept of guessing also is obsolete.
+  * Since there are no buses, there are also usually plenty of buttons
+    and controls, rendering the bank concept less useful. It *is* supported,
+    but activity highlights (to show which bank is active) are not.
+  * Finally, outputs (controller lights and button lights) frequently have
+    more than one state depending on the velocity sent, e.g. 1 for on and 2 for
+    blinking. Thus, the Futatabi MIDI mapping editor allows you to change the
+    note velocities from the default 1.
+
+Futatabi has been tested with the `Behringer CMD PL-1 <https://www.musictribe.com/Categories/Behringer/Computer-Audio/DJ-Controllers/CMD-PL-1/p/P0AJF>`_;
+it is not originally designed for slow motion (it is a DJ controller), but provides everything you
+need (a jog wheel, a slider that works as a T bar for master speed, and plenty
+of buttons) at a fraction of the price of a “real” slow motion remote.
+A sample MIDI mapping is included with Futatabi.
+
+Futatabi currently does not support classic RS-422 controllers, only MIDI
+controllers.
+
 
 Monitoring
 ----------
@@ -284,5 +318,50 @@ Monitoring
 Tally and status talkback
 '''''''''''''''''''''''''
 
+In addition to the verbal communication between the two operators
+(see :ref:`coop`), it is also useful to have automatic communication
+between Nageru and Futatabi. This goes both ways.
+
+First, Futatabi can consume :ref:`Nageru's tally data <tally>` like any camera
+can; give the correct channel URL to *--tally-url* on the Futatabi command line,
+and the color around the live view will show up when you are ready or playing
+(e.g. *--tally-url http://nageru-server.example.org:9096/channels/2*).
+
+Second, Futatabi can export its current status in two ways. The simplest is
+through a REST call; the HTTP server that exposes the stream also exposes
+the endpoint */queue_status* (e.g. http://futatabi-server.example.org:9096/queue_status).
+This contains the same text as is below the live window, ie., how much time
+is queued or left.
+
+The same status is also exported programmatically in the video output from
+Futatabi, as a subtitle track. This allows the Nageru theme not only to display
+it if desired, but even to act automatically to switch to a different channel
+when the playlist is nearing its end. (See :ref:`subtitle-ingest` for information
+on how to digest such information from the Nageru side.)
+
+Each subtitle entry is displayed momentarily before the frame it belongs to,
+and has the following format:
+
+  Futatabi 1.8.2;PLAYING;6.995;0:06.995 left
+
+The semicolon-separated columns are as follows:
+
+  * The first column is the identifier for the Futatabi version in use; if the format
+    should ever diverge between versions, it can serve as a way to distinguish between
+    them if needed. (The version may also change without the format changing.)
+    For now, however, you can ignore it.
+  * The second column is either PLAYING or PAUSED, depending on the current status.
+  * The third column is how many seconds is queued up (PAUSED) or remaining (PLAYING).
+    It is always in C locale, no matter what the user has set (ie., the decimal point
+    will always be a period). Note that this does not take into account the master
+    speed (see :ref:`speed`).
+  * Finally, the fourth column is a human-readable string, the same as is exposed
+    on the /queue_status endpoint above.
+
 Prometheus metrics
 ''''''''''''''''''
+
+Like Nageru, Futatabi supports a series of Prometheus metrics for monitoring;
+see :doc:`monitoring` for general information. Futatabi provides entirely different
+metrics, though, mostly related to performance. There is no predefined Grafana
+dashboard available at the current time.