Code Monkey home page Code Monkey logo

gst1-java-core's Introduction

GStreamer 1.x Java Core (gst1-java-core)

This is a set of Java bindings for GStreamer 1.x, an open-source multimedia framework.

Status and support

Releases are available via Maven Central (under the org.freedesktop.gstreamer group ID), or can be downloaded from the GitHub release page.

The bindings are actively in use in a variety of commercial and open-source projects and are functionally stable. Having now reached v1 they should also be considered API stable. This does not apply to the lowlevel package which is effectively non-public and subject to change at any time.

The current lead maintainer of the bindings is Neil C Smith on behalf of the PraxisLIVE / PraxisCORE projects. The bindings are a fork of the original GStreamer-Java bindings for GStreamer 0.10 started by Wayne Meissner, and numerous other people have made valuable contributions to the original project and the 1.x fork over the years.

Initial help on getting started, and support for open-source projects, can be obtained from the GStreamer-Java Google Group.

Commercial support is available, and sponsorship of features is welcome - please email [email protected] to discuss.

Requirements

The bindings have been tested on Linux, Windows and OSX. Windows and OSX installers for GStreamer are available from the GStreamer project itself. Linux users should be able to get GStreamer from their distribution repository if it isn't already installed.

You will need to have the GStreamer 1.x native library available in your system path in order to use the bindings, and may also need to set up environment variables depending on how GStreamer is installed. See how PraxisCORE handles this, including use of JNA Platform to set up the Windows PATH.

It is possible to ship GStreamer with your application should you not wish your users to have to install it separately. There are various ways to achieve this - see the upstream documentation. Advice is also available via the support options above.

The minimum supported version of GStreamer is 1.8.x. If you require access to features related to later GStreamer versions (eg. WebRTC support), make sure to request the version you need when calling Gst.init(..)

You will also need the JNA (Java Native Access) library, minimum version 5.2.0.

The minimum required Java version is now Java 8.

Usage

See the examples repository for usage. More documentation will follow. Please use the GStreamer-Java Google Group to discuss usage or ask questions.

Use the Javadoc! All classes are documented, and include links to the relevant native documentation where appropriate.

Please note: this is not an easy-to-use multimedia framework for beginners. It currently requires people to both know the Java language and be familiar with the GStreamer framework (or be prepared to apply things from tutorials on GStreamer programming in other languages to the Java bindings).

Contributions

Contributions to the library are welcomed, either to fix / enhance current features, or bring in new ones. There is also ongoing work to rework the lowlevel bindings.

Before opening a Pull Request please raise an issue or discuss your contribution on the mailing list. New features must have tests, selectively applied if targeting features in versions of GStreamer above 1.8. All Pull Requests will be automatically tested via CI, and all tests must pass before merging will be considered.

If you are making a large contribution to benefit a commercial project, sponsorship of integration and support time would be appreciated.

gst1-java-core's People

Contributors

armouroflight avatar codeanticode avatar dmitrypalvov avatar frejcam avatar hamoid avatar i-n-g-o avatar lafoletc avatar matthiasblaesing avatar mazdermind avatar mutantbob avatar neilcsmith-net avatar pertsevroman avatar sarxos avatar smarquard avatar sviperll avatar woglinde avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.