Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/webini/node-gstreamer-tools

Simple wrapper for gstreamer inspection and discovering
https://github.com/webini/node-gstreamer-tools

discoverer gstreamer information inspect media node

Last synced: about 1 month ago
JSON representation

Simple wrapper for gstreamer inspection and discovering

Awesome Lists containing this project

README

        

Installation
============
Support only linux yet. Contributions are welcome.
System dependencies : `libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev` (>= 1.14)

To install run `npm i node-gstreamer-tools`

## Examples

### Plugins inspection

```js
const gst = require('node-gstreamer-tools');

const plugins = gst.getPlugins();
const pluginDetails = gst.inspect(plugins[0]);

console.log(plugins, pluginDetails);

```

### Media inspection
```js
const gst = require('node-gstreamer-tools');

gst
.discover("file://", 60) // 60 = timeout in seconds
.then(mediaInfos => {
console.log(mediaInfos);
})
.catch(e => {
console.log(e);
})
;

// or

gst
.discover("http(s)://", 10)
.then(mediaInfos => {
console.log(mediaInfos);
})
.catch(e => {
console.log(e);
})
;
```

## Constants

### features[].pads[].direction
https://gstreamer.freedesktop.org/documentation/gstreamer/gstpad.html#GstPadDirection

Value | Description
------|------------
0 | unknown
1 | src
2 | sink

### features[].pads[].presence

https://gstreamer.freedesktop.org/documentation/gstreamer/gstpadtemplate.html?gi-language=c#GstPadPresence

Value | Description
------|------------
0 | Always
1 | Sometimes
2 | Request

### features[].uriHandler

https://gstreamer.freedesktop.org/documentation/gstreamer/gsturihandler.html?gi-language=c#GstURIType

Value | Description
------|------------
0 | The URI direction is unknown
1 | The URI is a consumer
2 | The URI is a producer

https://github.com/GStreamer/gstreamer/blob/master/tools/gst-inspect.c#L769