view doc/libervia-cli/pipe.rst @ 3583:16ade4ad63f3 sqlalchemy

core (memory/sqla_mapping): fix some technical debt: a first Alembic revision file is joined to migrate existing databases to new mapping. This patch: - set `nullable=False` in various places - drop legacy `message_types` table, and use `Enum` instead - use naming convention, and get rid of anonymous constraint (this is the main reason why the revision file is so long)
author Goffi <goffi@goffi.org>
date Sun, 27 Jun 2021 00:15:40 +0200
parents 267e4987b58b
children
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/libervia.123 < some_video.webm

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

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