Giter Club home page Giter Club logo

gst-gateworks-apps's Introduction

gst-gateworks-apps

These suite of programs are examples written by Gateworks in order to help developers with specific types of applications.

Compatibility

These programs are made in mind to run on the i.mx6 platform.

Also, full Yocto SDK of an image containing the following packages: gstreamer-1.0, and glib-2.0 (accomplished by bitbaking with a -cpopulate_sdk flag on the image recipe)

Cross Compilation

To cross compile, please use the script make-for-imx6. This script configures the environment as required and builds the target.

If using make-for-imx6 , please make sure that your toolchain exists at /opt/poky/1.8. If it does not, you may change it via environmental variable SDK_LOC. If your toolchain differs from the default, you may change it via environmental variable SDK_NAME.

Target Compilation

If compiling on the target device, just type make


gst-variable-rtsp-server

This program acts as a RTSP server to provide a live-stream from a v4l2 video source of the users choosing. A nifty feature of this program is its' ability to dynamically change the bitrate of the video stream on the fly depending on the number of clients connected at any given time. This allows for better usage of network bandwidth when required.

The basic pipeline that this program uses is as follows: v4l2src ! imxipuvideotransform ! imxvpuenc_h264 ! rtph264pay

Requirements

This program uses gstreamer elements provided by gstreamer-imx and gstreamer-rtsp-server-1.0. Before running this program, please verify that these plugins are available.

Compile

To cross compile: ./make-for-imx6 gst-variable-rtsp-server

To target compile: make gst-variable-rtsp-server

Usage

For the latest help, please run gst-variable-rtsp-server --help

As of this writing, the usage is as follows:

Usage: gst-variable-rtsp-server [OPTIONS]

Options:
 --help,            -? - This usage
 --version,         -v - Program Version: 1.1
 --debug,           -d - Debug Level (default: 0)
 --mount-point,     -m - What URI to mount (default: /stream)
 --port,            -p - Port to sink on (default: 9099)
 --user-pipeline,   -u - User supplied pipeline. Note the
                         below options are NO LONGER
                         applicable.
 --src-element,     -s - Gstreamer source element. Must have
                         a 'device' property (default: v4l2src)
 --video-in,        -i - Input Device (default: /dev/video0)
 --caps-filter,     -f - Caps filter between src and
                         video transform (default: None)
 --max-bitrate,     -b - Max allowable bitrate (default: 10000)
 --min-bitrate,        - Min allowable bitrate (default: 0)
 --max-quant-lvl,      - Max Quant-Level (default: 51)
 --min-quant-lvl,   -l - Min Quant-Level (default: 0)
 --config-interval, -c - Interval to send rtp config (default: 2s)
 --idr              -a - Interval between IDR Frames (default: 0)
 --msg-rate,        -r - Rate of messages displayed (default: 5s)

Examples:
 1. Capture using imxv4l2videosrc, changes quality:
        gst-variable-rtsp-server -s imxv4l2videosrc

 2. Create RTSP server out of user created pipeline:
        gst-variable-rtsp-server -u "videotestsrc ! imxvpuenc_h264 ! rtph264pay name=pay0 pt=96"

gst-gateworks-apps's People

Contributors

gateworks avatar psidhu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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