GStreamer package for Fuse Open.
GStreamer supports a wide variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing. The pipeline design serves as a base to create many types of multimedia applications such as video editors, transcoders, streaming media broadcasters and media players.
$ npm install fuse-gstreamer
This will install the GStreamer
library for Fuse SDK.
GStreamer development and runtime files for desired platforms must be installed on your system to use this package. More information can be found on this page.
On Android, dependencies are downloaded automatically when building. You don't need to install anything manually.
On Windows, make sure to install the MinGW 64-bit edition, and verify that
GSTREAMER_1_0_ROOT_X86_64
is set in your environment (to for exampleC:\gstreamer\1.0\x86_64\
).
Tested using GStreamer v1.16.0 (although any recent version should work fine).
<App xmlns:gst="GStreamer.Controls">
<gst:Player Uri="rtsp://b1.dnsdojo.com:1935/live/sys3.stream" />
</App>
This instantiates a GStreamer control playing a live video stream over RTSP. Many common transport protocols, container formats and media codecs are supported out-of-the-box. If you want to play local files, provide a file:///
URI instead.
To use this control in your project, you must add
"GStreamer"
to"Packages"
in your.unoproj
file.
You can play around with the included example app.
First, make sure dependencies are installed and our library is built.
npm install
npm run build
Then, issue one of the following commands to run the app on your desired platform.
npm run android
npm run ios
npm run native
Essentially, make sure to initialize GStreamer in Uno, then write GStreamer code to do what you want... ;-)
GStreamer.Init();
Check out the files under
GStreamer/
to see how GStreamer is used from Uno, most notablyUriPipeline.uno
.
Check out
Player.uno
to see how this stuff is wrapped up into the UX control we're using in our example app.
If you add some cool functionality, remember that pull requests are very welcome. :-)
Please report an issue if you encounter a problem, or open a pull request if you make a patch.
MIT for code in this repository, but note that GStreamer is LGPL and that some plugins may require additional licenses.