Giter Club home page Giter Club logo

gstreamer-1.18.4-rpi_32-bits's Introduction

GStreamer-1.18.4-RPi_32-bits

output image

GStreamer + OpenCV on a Raspberry Pi 4 32-bits

License

An working example of the GStreame 1.18.4 with the new rpicamsrc source.
Please note, it only works on a Raspberry Pi with an 32-bits OS.
If you have an 64-bits OS see https://github.com/Qengineering/GStreamer-1.18.4-RPi_64-bits


Dependencies.

To run the application, you have to:

  • A Raspberry Pi 4 with a 32-bits operating system.
  • GStreamer 1.18.4 installed. Install GStreamer
  • OpenCV bit installed. Install OpenCV 4.5
  • Code::Blocks installed. ($ sudo apt-get install codeblocks)
  • A working Raspicam

Installing the app.

To extract and run the app in Code::Blocks
$ mkdir MyDir
$ cd MyDir
$ wget https://github.com/Qengineering/GStreamer-1.18.4-RPi_32-bits/archive/refs/heads/main.zip
$ unzip -j master.zip
Remove master.zip, LICENSE and README.md as they are no longer needed.
$ rm master.zip
$ rm LICENSE
$ rm README.md

Your MyDir folder must now look like this:
GStreamerTest32.cpb
main.cpp


Running the app.

To run the application load the project file GStreamerTest32.cbp in Code::Blocks.
Next, follow the instructions at Hands-On.


Frame rate.

The Raspicam supports many sizes and frame rates, as you can see here.
You can switch between the different options by altering the parameters in the pipeline.
As long it's a valid combination, it will work. For instance:

    //pipeline parameters
    int capture_width = 640 ;
    int capture_height = 480 ;
    int display_width = 640 ;
    int display_height = 480 ;
    int framerate = 90 ;

output image

Since the developer of the rpicamsrc, Jan Schmidt aka thaytan, took the raspivid parameters as best they could, many can now be used in the pipeline. An example;

            "rpicamsrc exposure-mode=off shutter-speed=50 preview=false ! "
            "video/x-raw, width=(int)" + std::to_string(capture_width) + ", height=(int)" + std::to_string(capture_height) + ", framerate=(fraction)" + std::to_string(framerate) +"/1 !"
            " videoscale ! video/x-raw,"
            " width=(int)" + std::to_string(display_width) + ","
            " height=(int)" + std::to_string(display_height) + " ! "
            " videoconvert ! video/x-raw, format=(string)BGR ! appsink";

For more info see rpicamsrc


paypal

gstreamer-1.18.4-rpi_32-bits's People

Contributors

qengineering avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.