fuse-gstreamer

1.0.0 • Public • Published

fuse-gstreamer

AppVeyor build status NPM package Slack License: MIT

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.

Install

npm install fuse-gstreamer

This will install the GStreamer library for Fuse SDK.

Requirements

Supported platforms

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_64 is set in your environment (to for example C:\gstreamer\1.0\x86_64\).

  • Tested using GStreamer v1.16.0 (although any recent version should work fine).

Usage

<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.

Example app

Screenshot

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

Custom pipelines

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 notably UriPipeline.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. :-)

Contributing

Please report an issue if you encounter a problem, or open a pull request if you make a patch.

License

MIT for code in this repository, but note that GStreamer is LGPL and that some plugins may require additional licenses.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.0.0
    3
    • latest

Version History

Package Sidebar

Install

npm i fuse-gstreamer

Weekly Downloads

5

Version

1.0.0

License

MIT

Unpacked Size

737 kB

Total Files

29

Last publish

Collaborators

  • mortend