view doc/libervia-cli/pipe.rst @ 3541:888109774673

core: various changes and fixes to work with new storage and D-Bus bridge: - fixes coroutines handling in various places - fixes types which are not serialised by Tx DBus - XEP-0384: call storage methods in main thread in XEP: Python OMEMO's Promise use thread which prevent the use of AsyncIO loop. To work around that, callLater is used to launch storage method in main thread. This is a temporary workaround, as Python OMEMO should get rid of Promise implementation and threads soon.
author Goffi <goffi@goffi.org>
date Thu, 03 Jun 2021 15:21:43 +0200
parents 4705f80b6e23
children 267e4987b58b
line wrap: on
line source

==================================================
pipe: send/receive data stream through shell pipes
==================================================

``pipe`` commands allow you to send or receive data stream through a Unix shell pipe.
Libervia will create a network connection (using XMPP and Jingle) between you an your
contact.

in
==

Receive data stream. Data will be send to stdout, so it can be piped out or simply print
to the screen. You can specify bare jids of entities to accept stream for, by default all
streams are accepted.

example
-------

Receive a video stream, and redirect it to mpv_ so show the video::

  $ li pipe in | mpv -

.. _mpv: https://mpv.io/

out
===

Send data stream. Data comes from stdin, so you may use pipe in something or just write
some text.

The only expected argument is the full jid of the device where the stream must be piped
out.

example
-------

Send a video to louise::

 $ li pipe out louise@example.org/sat < some_video.webm

Send output from ``cal`` command to louise::

 $ cal | li pipe out louise@example.org/sat