]> git.sesse.net Git - nageru-docs/blobdiff - futatabi.rst
Write about Futatabi tally and talkback.
[nageru-docs] / futatabi.rst
index 171f861f25c59853dde675b30106d21fbe7f7a88..4de096e08943803e42571395020af08ae656584c 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`.
 
@@ -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,6 +270,11 @@ 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.
@@ -284,5 +294,45 @@ 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
 ''''''''''''''''''