problems resizing video stream from c++

Blaine Bell blaine at blainebell.org
Fri Sep 1 03:22:59 UTC 2017


figured it out.  need to use a capsfilter as an element explicitly in 
the pipeline.  oddly enough, it behaves slightly differently:  if the 
width is the only parameter specified, then it does not resize the 
height according to the aspect ratio.  In the below gst-launch-1.0, the 
aspect ratio is kept the same.

Blaine


On 08/31/2017 10:17 PM, Blaine Bell wrote:
> my gst-launch-1.0 commands are like this:
>
> gst-launch-1.0 udpsrc port=8009 caps = "application/x-rtp, 
> media=(string)video, clock-rate=(int)90000, encoding-name=(string)VP8" 
> ! rtpvp8depay ! vp8dec ! videoconvert ! videoscale ! 
> video/x-raw,width=100 ! autovideosink
>
> This works perfectly.  But when I try to setup this stream in c++ 
> (with slightly different output, I want to read images), it fails to 
> go into PLAYING state.  I am having trouble debugging this, but have 
> isolated it to attaching the caps using gst_element_link_filtered 
> between the videoscale and next element (which from c++ is the 
> jpegenc, but have also tried another videoconvert GstElement).  These 
> all fail.
>
> To be clear, I setup the videoconvert and videoscale element, and the 
> element after like this:
>
>   videoconvert1 = gst_element_factory_make("videoconvert", "convert1");
>   videoscale = gst_element_factory_make("videoscale", "scale");
>   jpegenc = gst_element_factory_make("jpegenc", "myenc");
>
> then after the command:
>
>   gst_bin_add_many (GST_BIN (pipeline), src, ....., videoconvert1, 
> videoscale, jpegenc, ...., NULL);
>
> I create the caps:
>
>   caps = gst_caps_from_string("video/x-raw,width=100");
>
> then use the gst_element_link_filtered() to connect the caps to the 
> pipeline:
>
>   gst_element_link_filtered(videoscale, jpegenc, caps);
>
> I have tried many versions and combinations of this, but cannot get 
> the resize to work.  Can someone help explain to me how to resize this 
> video feed from C++?
>
> Thanks in advance,
>
> Blaine
>



More information about the gstreamer-devel mailing list