Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GStreamer command fails to capture(green area) #65

Open
savchart opened this issue Oct 4, 2023 · 2 comments
Open

GStreamer command fails to capture(green area) #65

savchart opened this issue Oct 4, 2023 · 2 comments

Comments

@savchart
Copy link

savchart commented Oct 4, 2023

Describe the bug

The following GStreamer command encounters an issue where it fails to capture half of the frame and displays a green color instead:
gst-launch-1.0 pylonsrc ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! nvvidconv ! nvegltransform ! nveglglessink sync=0
Additionally, setting nvsurface-layout=0 results in a different fragmentation of the green area.

The problem can be temporarily resolved by using the following command:
gst-launch-1.0 pylonsrc ! "video/x-raw, width=1920, height=1080" ! nvvidconv ! "video/x-raw(memory:NVMM)" ! nvegltransform ! nveglglessink sync=0
However, this workaround requires additional resources.

To Reproduce

To reproduce the issue, use the following GStreamer command:
gst-launch-1.0 "video/x-raw(memory:NVMM)" ! nvvidconv ! nvegltransform ! nveglglessink sync=0

Expected behavior

The expected behavior is that the output frame should consist of the whole frame without any green areas.

Environment

Camera: daA1920-30uc
Plugin Version Info:
Description: Basler/Pylon plugin for pylon SDK 7.3.0(19429)
Version: 0.7.0
Platform: Jetson Orin AGX
OS:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
Please let me know if any additional information or steps are required to reproduce or diagnose this issue.

@thiesmoeller
Copy link
Collaborator

Hi @savchart,

as one overall optimization please add

... pylonsrc stream::MaxTransferSize=4194304 ! ...

to your pipeline. This will switch to larger DMA transfers. Just to reduce the system load for receiving the data.

Do you use YUV pixel format in the camera? Green is typically a good sign, of some memory that is '0' or never written to-> which results in green in yuv.

We have to use some special handling in the case of NVMM memory, because NVIDIA has alignment restrictions.

Can you test with width=1024,height=1024

To check if our alignment adjustment code has some error.

@savchart
Copy link
Author

savchart commented Oct 6, 2023

Hi @thiesmoeller,

thanks for answer.

The next pipeline doesn't solve the problem, half of the output frame is still green:
gst-launch-1.0 pylonsrc stream::MaxTransferSize=4194304 ! "video/x-raw(memory:NVMM), width=1024, height=1024, format=YUY2" ! nvvidconv ! nv3dsink

Pipeline also does not work with other formats (RGB, GRAY8, UYVY).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants