Comments (6)
Thanks again Zingmars! I am currently working on getting two video streams to be sent over UDP. I have been successful in doing this with the following pipline:
st-launch-1.0 pylonsrc camera=0 pixel-format=mono8 width=800 height=600 ! "video/x-raw,format=GRAY8" ! videoflip method=vertical-flip ! videoconvert ! x264enc bitrate=30000 speed-preset=superfast qp-min=30 tune=zerolatency ! rtph264pay ! udpsink host=XXX.XXX.XXX port=XXXX | gst-launch-1.0 pylonsrc camera=1 pixel-format=mono8 width=800 height=600 ! "video/x-raw,format=GRAY8" ! videoflip method=vertical-flip ! videoconvert ! x264enc bitrate=30000 speed-preset=superfast qp-min=30 tune=zerolatency ! rtph264pay ! udpsink host=XXX.XXX.XXX port=XXXX
I will start playing with the videomixer to see if I can send them over UDP in one window. Thanks a ton for the help. I will close this issue now.
from gst-pylonsrc.
Hi,
The problem with the "Error in the image processing loop" error is that it's very hard to diagnose. As you might've read in #5, it usually means that there was a corrupted frame present, and debugging it is quite hard. Now, when you say "I did exactly as instructed", do you mean you replaced the code block as shown in here #5 (comment)?
For debugging, first I would recommend you to use the pylonsrc from https://github.com/joshdoe/gst-plugins-vision (you can also try https://github.com/AB-Eskild/gst-plugins-vision/tree/bugfix/pylonsrc_handle_corupt_frames, which is a branch for a PR that attempts to tackle this issue). That repository has a slightly refactored version of plugin that should be better at showing where the error was (although it will still fail if a frame will fail to grab iirc).
One thing to try is to run the pipeline, and then open pylon viewer and run it for a while to see if there are any errors/warnings there. Basler cameras save settings in ram, and running the pipeline will set a lot of values to the plugin's defaults thus what you'll get should be very close to what it would be outputting to gstreamer. joshdoe/gst-plugins-vision#14 (comment) reports that changing framerate/resolution and other parameters seem to affect the frequency of any warnings/errors, so you might also want to try that.
from gst-pylonsrc.
Hello Zingmar,
Thank you for the response. The only thing I did in issue number 5 was change "goto error" to "return GST_FLOW_OK;" I was not to sure where to place that code block.
I am having issues using the vision plug ins. I am sure I've installed everything correctly but I cant be 100%. I am not sure if I am doing thigns correctly. After installing the plugin, I should just be able to run the pylonsrc plugin correct? or is there another way I am supposed to use the vision plug in?
I have ran the Basler pylonviewer after running the pipeline and everything is running just fine. I do not get any errors at all. I also want to mention that I am able to see the video stream locally by running this pipeline:
gst-launch-1.0 pylonsrc camera=0 imageformat=mono8 width=1600 height=1200 ! videoconvert ! xvimagesink
I will take a look at issue #14 in the vision plugin. I also would like to say that I am not a software engineer. My background is primarily hardware design so I do apologize if I may say some silly things or ask dumb questions regarding compiling or installing software.
Thank you,
Frank
from gst-pylonsrc.
Try running the UDP pipeline with continuous=false
set
I am having issues using the vision plug ins. I am sure I've installed everything correctly but I cant be 100%. I am not sure if I am doing thigns correctly. After installing the plugin, I should just be able to run the pylonsrc plugin correct? or is there another way I am supposed to use the vision plug in?
From what I remember you should be able to just make install
it and run, though you'll probably need to uninstall this version first. Also, you might need to clean gstreamer cache (~/.gstreamer-1.0
iirc?)
Thank you for the response. The only thing I did in issue number 5 was change "goto error" to "return GST_FLOW_OK;" I was not to sure where to place that code block.
That probably didn't work because you told gstreamer that the plugin succeeded to grab a frame when it didn't actually provide a frame. I've uploaded two patch files that you can try - 0001-Retry-capture-when-a-frame-failed-to-grab.patch
is the solution provided in #5. 0001-Grab-frame-after-failure.patch
will make the plugin try another capture if it fails (although I haven't tested it). You can apply a patch file using git am --3way <patch file>
.
Download: pylonsrc-patches.zip
from gst-pylonsrc.
Hello Zingmars,
Thank you for all of your help. I first want to say that I tried applying the patch but for some reason it just wouldn't take. After that I began to play with the gst-plugins-vision code and was finally able to stream a UDP stream with almost 0 latency! This is the pipeline I am using on my host machine:
gst-launch-1.0 -v pylonsrc camera=1 pixel-format=mono8 width=1600 height=1200 ! "video/x-raw,format=GRAY8" ! videoflip method=vertical-flip ! videoconvert ! x264enc bitrate=30000 speed-preset=superfast qp-min=30 tune=zerolatency ! rtph264pay ! udpsink host=XXX.XXX.XXX.XXX port=XXXX
And this is the pipeline I am running on the destination machine:
gst-launch-1.0 -v udpsrc port=XXXX caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! queue ! decodebin ! videoconvert ! videoscale ! autovideosink sync=true
I have another question, is it possible to send two udp streams from two different cameras at the same time? My application requires me to be able to two cameras running on the same machine. Also since this question was answered, should I start another issue and ask this question there?
thank you,
Frank
from gst-pylonsrc.
from gst-pylonsrc.
Related Issues (16)
- Bayer RG 8 supported? HOT 9
- Related project gst-plugins-vision HOT 6
- Camera couldn't prepare buffer in time. Probably Dead. HOT 1
- Cannot find proper location on Jeston baord HOT 6
- HW triggering parameter HOT 1
- Contrast HOT 21
- No such element or plugin 'pylonsrc' HOT 6
- pipeline for generating rtsp stream from pylon camera is failing HOT 4
- limitbandwidth not implemented for all cameras? HOT 2
- gst-pylonsrc not found HOT 2
- Mono8 to BGR24 conversion is getting failed HOT 9
- gstpylonsrc.c : Error in the image processing loop HOT 11
- Internal data stream error HOT 2
- cross compiling for arm HOT 1
- Can't set continuous to false HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gst-pylonsrc.