diff --git a/doc/libervia-cli/call.rst b/doc/libervia-cli/call.rst index f8ddc0f8..0f5fb05f 100644 --- a/doc/libervia-cli/call.rst +++ b/doc/libervia-cli/call.rst @@ -100,6 +100,8 @@ v6 or higher. Here's how to navigate and use the GUI: You need to have installed the ``PyQt6`` package to make it work. It is the case if you have used `[GUI]` or `[all]` dependencies during Libervia installation. +.. _no_ui: + Call Interface ^^^^^^^^^^^^^^ @@ -128,17 +130,62 @@ share. It can be your entire screen or a specific application window. On X11, a dialog will appear, while for Wayland, a dialog provided by your environment will ask you to select what you want to share. -example -------- +no_ui +----- + +Sometimes you don't want Libervia to create a user interface. This can be because you want +to pipe the stream to other software or use a custom GStreamer pipeline. + +With ``no_ui`` output, no user interface will be created. If you don't specify audio or +video pipeline options (see below), automatic sinks will be used, except when stdout is +redirected (e.g., via a pipe), in which case playback is not shown at all. + +The following output options can be used: + +- **audio=AUDIO_PIPELINE**: Set a GStreamer pipeline description for audio. +- **video=VIDEO_PIPELINE**: Set a GStreamer pipeline description for video. + +Custom Pipelines +^^^^^^^^^^^^^^^^ + +Custom GStreamer pipelines can be used as sources for outgoing streams using ``-V, --video +VIDEO`` and/or ``-A, --audio AUDIO``. You can use GStreamer pipeline descriptions (the +same as with the ``gst-launch`` command). + +For sinks (to handle incoming streams), use the ``no_ui`` output with the ``audio`` and +``video`` options as explained in :ref:`no_ui`. + +Stdin/Stdout redirection +^^^^^^^^^^^^^^^^^^^^^^^^ + +You can redirect stdin and/or stdout (e.g., using pipes or file redirection). + +For stdin, the stream format will be autodetected, and if it can be read, it will be sent +to your peer. + +For stdout, the incoming stream will be copied there in WebM format. This can be used with +file redirection to record a call. + +.. note:: + + If you record a call, be sure you have the consent of your peer. + +examples +-------- Pierre wants to call Louise with a GUI:: $ li call make louise@example.org -O gui -Louise is expecting Pierre call, and will use TUI with the ``block`` renderer to show it:: +Louise is expecting Pierre’s call and will use TUI with the ``block`` renderer to display +it:: $ li call receive -a pierre@example.net -O tui --oo renderer=block +Louise wants to show a movie trailer to Pierre:: + + $ li call make pierre@example.net < ~/blender/Agent\ 327\ -\ Operation\ Barbershop.webm + make ====