Installations
npm install @skyrising/gstreamer-superficial
Developer Guide
Typescript
No
Module System
CommonJS
Min. Node Version
>= 5.9.1
Node Version
7.2.1
NPM Version
4.0.3
Score
67.6
Supply Chain
91.6
Quality
75.2
Maintenance
100
Vulnerability
81.3
License
Releases
Unable to fetch releases
Contributors
Unable to fetch Contributors
Languages
C++ (88.99%)
Python (8.43%)
CMake (2.58%)
Developer
skyrising
Download Statistics
Total Downloads
1,085
Last Day
1
Last Week
1
Last Month
2
Last Year
85
GitHub Statistics
37 Commits
1 Forks
3 Watching
3 Branches
1 Contributors
Package Meta Information
Latest Version
1.0.2
Package Id
@skyrising/gstreamer-superficial@1.0.2
Size
19.88 kB
NPM Version
4.0.3
Node Version
7.2.1
Total Downloads
Cumulative downloads
Total Downloads
1,085
Last day
0%
1
Compared to previous day
Last week
0%
1
Compared to previous week
Last month
0%
2
Compared to previous month
Last year
-38.4%
85
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
gstreamer-superficial
Superficial GStreamer binding
What?
This is a superficial binding of GStreamer to Node.js. It does not attempt at being a complete binding, and will hopefully one day be replaced by (or implemented with) node-gir.
How?
1const gstreamer = require('gstreamer-superficial'); 2const pipeline = new gstreamer.Pipeline(`videotestsrc ! textoverlay name=text 3 ! autovideosink`); 4 5pipeline.play();
Then, you can find an element within the pipeline, and set its properties:
1const target = pipeline.findChild('text'); 2 3target.text = 'Hello'; 4Object.assign(target.text, { 5 text: 'Hello', 6 'font-desc': 'Helvetica 32', 7})
(see also examples/basic-pipeline.js)
Pipeline also knows .stop()
, .pause()
and .pollBus()
,
the elements returned by .findChild()
getting and setting all properties the real GObject
s do, appsinks also support .pull()
(see below).
Polling the GStreamer Pipeline Bus
You can asynchronously handle bus messages using Pipeline.pollBus(callback):
1pipeline.pollBus(msg => { 2 console.log(msg); 3});
(see also examples/bus.js)
Handling binary data
You can feast off GStreamer's appsink to handle binary data. .pull starts a background work queue and calls your callback whenever a buffer is (or caps are) available:
1const appsink = pipeline.findChild('sink'); 2 3function onData(buf) { 4 console.log('BUFFER size', buf.length); 5 appsink.pull(onData); 6} 7 8appsink.pull(onData, caps => { 9 /* caps currently not implemented */ 10 console.log('CAPS', caps); 11});
(see examples/appsink.js)
A simple Ogg/Theora streaming server
is broken, but was once working as implemented in examples/streaming/
run server.js (requires express) and point your browser to http://localhost:8001. (Tested only with Chromium).
This handles retaining the streamheader to feed first to every newly connected client.
Who?
gstreamer-superficial was written by Daniel Turing (mail AT danielturing.com) and currently licensed under the GPLv3. Pester me if you prefer a different License..
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0
Reason
Found 0/30 approved changesets -- score normalized to 0
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no SAST tool detected
Details
- Warn: no pull requests merged into dev branch
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Score
3
/10
Last Scanned on 2024-12-16
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More