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, so 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_64is set in your environment (to for example
Tested using GStreamer v1.16.0 (although any recent version should work fine).
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
"Packages" in your
You can play around with the included example app.
First, make sure dependencies are installed and our library is built.
npm installnpm run build
Then, issue one of the following commands to run the app on your desired platform.
npm run androidnpm run iosnpm run native
Essentially, make sure to initialize GStreamer in Uno, then write GStreamer code to do what you want...
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. :-)
MIT for code in this repository, but note that GStreamer is LGPL and that some plugins may require additional licenses.