#gstreamer #api-client #http-api #client #api #gstd #daemon-process

gst-client-rs

Provides bindings for the main functionalities of the GStreamer Daemon

4 releases

0.2.3 Mar 23, 2023
0.2.2 Mar 14, 2023
0.2.1 Mar 8, 2023
0.2.0 Jan 18, 2023

#406 in HTTP client

27 downloads per month
Used in 5 crates (via printnanny-gst-pipelines)

Custom license

46KB
795 lines

Gst Client

[gst-client-rs v0.2.0]

Forked from: (https://github.com/ALLATRA-IT/gst-client/tree/master) (changelog)

The GStreamer Daemon Rust Client or gst-client is a Rust package that provides bindings for the main functionalities of the [GStreamer Daemon]. It uses an HTTP to communicate with the daemon.

GStD or GStreamer Daemon by itself is a process that runs independently and exposes a public interface for other processes to communicate with and control the [GStreamer Daemon].

It really simplifies the way of communication with GStreamer and debugging process.

The gst-client simplify communication with GStD based on GStreamer Daemon - HTTP API spec.

Usage

Start GStD with HTTP API enabled

For allow GStD use HTTP API need to run it with parameters:

gstd --enable-http-protocol --http-address=0.0.0.0 --http-port=5000

Connect from gst-client

use gst_client::GstClient;

let client = GstClient::build("http://0.0.0.0:5000")?;
let new_pipeline = client.pipeline("new-pipeline").create("playbin")?;

Full API Reference is availeble here.

Dependencies

~4–17MB
~277K SLoC