doc (cli/call): Update doc with new features:

Add doc for:

- `no_ui` output
- stdin/stdout redirection
- custom GStreamer pipelines
This commit is contained in:
Goffi 2025-11-19 18:03:07 +01:00
commit 4346278bd8

View file

@ -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
====