QGst::Quick::VideoSurface Green Hue

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

QGst::Quick::VideoSurface Green Hue

sahil malhotra
Hi,
I'm trying to build an application that subscribes to a udp mjpg stream and displays it in a QGst::Quick::VideoSurface. Problem is whenever i connect the pipeline to the VideoSurface->videoSink(), the displayed video looks like it is over saturated by a green hue. If i connect it to a different sink for example the default sink that gets created with the "playbin2" Element, Video color is fine but it opens a new output window in which this is displayed. I need some help in debugging this issue so that i can display the video inside my qtquick 2.0 application.

Thanks
Sahil

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

Chuck Crisler-2
A green color suggests a color space conversion problem (or a lack of color space conversion). That would be displaying YUV on an RGB surface or vice version. Enable some logging, especially on the caps exchange (gst-launch -vvv) to see what is happening.


On Tue, Jan 28, 2014 at 9:19 AM, sahil malhotra <[hidden email]> wrote:
Hi,
I'm trying to build an application that subscribes to a udp mjpg stream and displays it in a QGst::Quick::VideoSurface. Problem is whenever i connect the pipeline to the VideoSurface->videoSink(), the displayed video looks like it is over saturated by a green hue. If i connect it to a different sink for example the default sink that gets created with the "playbin2" Element, Video color is fine but it opens a new output window in which this is displayed. I need some help in debugging this issue so that i can display the video inside my qtquick 2.0 application.

Thanks
Sahil

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

sahil malhotra
gst-launch actually plays the Video fine. The problem occurs only when i play it inside the QGst::Quick::VideoSurface i.e. connect it to its sink. I'll check if the videosink lets me do any manipulation of the color space. Thanks
Sahil


On Tue, Jan 28, 2014 at 8:04 PM, Chuck Crisler <[hidden email]> wrote:
A green color suggests a color space conversion problem (or a lack of color space conversion). That would be displaying YUV on an RGB surface or vice version. Enable some logging, especially on the caps exchange (gst-launch -vvv) to see what is happening.


On Tue, Jan 28, 2014 at 9:19 AM, sahil malhotra <[hidden email]> wrote:
Hi,
I'm trying to build an application that subscribes to a udp mjpg stream and displays it in a QGst::Quick::VideoSurface. Problem is whenever i connect the pipeline to the VideoSurface->videoSink(), the displayed video looks like it is over saturated by a green hue. If i connect it to a different sink for example the default sink that gets created with the "playbin2" Element, Video color is fine but it opens a new output window in which this is displayed. I need some help in debugging this issue so that i can display the video inside my qtquick 2.0 application.

Thanks
Sahil

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

sahil malhotra
It seems that it is a color space conversion issue. I tried to use a v4l camera with my code and changing the caps from video/x-raw-yuv to video/x-raw-rgb did fix the problem. How can i affect the same change in my pipeline constructed from playbin2 so that i can change the color space?

Thanks
Sahil


On Tue, Jan 28, 2014 at 8:08 PM, sahil malhotra <[hidden email]> wrote:
gst-launch actually plays the Video fine. The problem occurs only when i play it inside the QGst::Quick::VideoSurface i.e. connect it to its sink. I'll check if the videosink lets me do any manipulation of the color space. Thanks
Sahil


On Tue, Jan 28, 2014 at 8:04 PM, Chuck Crisler <[hidden email]> wrote:
A green color suggests a color space conversion problem (or a lack of color space conversion). That would be displaying YUV on an RGB surface or vice version. Enable some logging, especially on the caps exchange (gst-launch -vvv) to see what is happening.


On Tue, Jan 28, 2014 at 9:19 AM, sahil malhotra <[hidden email]> wrote:
Hi,
I'm trying to build an application that subscribes to a udp mjpg stream and displays it in a QGst::Quick::VideoSurface. Problem is whenever i connect the pipeline to the VideoSurface->videoSink(), the displayed video looks like it is over saturated by a green hue. If i connect it to a different sink for example the default sink that gets created with the "playbin2" Element, Video color is fine but it opens a new output window in which this is displayed. I need some help in debugging this issue so that i can display the video inside my qtquick 2.0 application.

Thanks
Sahil

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

Nicolas Dufresne-3
Le mardi 28 janvier 2014 à 21:59 +0530, sahil malhotra a écrit :
> It seems that it is a color space conversion issue. I tried to use a
> v4l camera with my code and changing the caps from video/x-raw-yuv to
> video/x-raw-rgb did fix the problem. How can i affect the same change
> in my pipeline constructed from playbin2 so that i can change the
> color space?

You should check the caps of your videosink, if it does not support YUV
it should not expose these caps, and not accept them either. If the caps
negotiation is done right in your videosink, color conversion will be
done automatically by playbin (though SW color space conversion has a
cost on CPU).

Nicolas




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

sahil malhotra
Thanks
The sink im using is qtquick2videosink which is part of the qt-gstreamer project. seems to work fine for a v4l2src but not for a filesrc 

The bin created from the description "v4l2src device=/dev/video0 name=src ! video/x-raw-rgb, framerate=15/1 ! gamma name=gamma ! videobalance name=videoBalance" works fine.
The bin created from the description "filesrc location=/media/Entertainment/Entertainment/Tekken_Videos/Tekken_FT10_c.avi ! decodebin2 name=dec ! ffmpegcolorspace ! videobalance name=videoBalance " does not

Perhaps there is something wrong with how i'm creating the bin itself?

Thanks for the help
Sahil


On Wed, Jan 29, 2014 at 12:38 AM, Nicolas Dufresne <[hidden email]> wrote:
Le mardi 28 janvier 2014 à 21:59 +0530, sahil malhotra a écrit :
> It seems that it is a color space conversion issue. I tried to use a
> v4l camera with my code and changing the caps from video/x-raw-yuv to
> video/x-raw-rgb did fix the problem. How can i affect the same change
> in my pipeline constructed from playbin2 so that i can change the
> color space?

You should check the caps of your videosink, if it does not support YUV
it should not expose these caps, and not accept them either. If the caps
negotiation is done right in your videosink, color conversion will be
done automatically by playbin (though SW color space conversion has a
cost on CPU).

Nicolas




_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

Nicolas Dufresne-3
Le mercredi 29 janvier 2014 à 01:02 +0530, sahil malhotra a écrit :
> Perhaps there is something wrong with how i'm creating the bin itself?

You should probably test:

(for readers this is 0.10)
videotestsrc ! video/x-raw-yuv ! ffmpegcolorspace ! qtquicksink

Also test with and without videobalance. Note that if a bug is actually
found in your investigation you'd be on your own using 0.10.

regards,
Nicolas

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: QGst::Quick::VideoSurface Green Hue

riteshSTPL
Having same problem on nVidia TX1 with Qt 5.2.1 and gstreamer 1.2.4.
But instead of Green Hue i am getting Red Hue with  QGst::Quick::VideoSurface.

So have you find any solutions?