<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Try adding --gst-debug=*:3 to the failing command line.</p>
    <p>If you are getting a non-negotiated error then it is because your
      source doesn't support a fps of 25.</p>
    <p>Fx my webcam only supports 10/1:</p>
    <p>msb@QTEC-P53-MSB-Debian:~/QtecGit/python-tests$ gst-launch-1.0
      v4l2src ! video/x-raw, framerate=5/1 ! fakesink --gst-debug=*:3<br>
      PAUSERER rørledning ...<br>
      Rørledningen kører, og behøver ikke at blive PREROLL'ed ...<br>
      Rørledningen er PREROLL'ed ...<br>
      Rørledning sættes til AFSPIL ...<br>
      New clock: GstSystemClock<br>
      0:00:00.132050019 18347 0x55e8e83d6f00 WARN                
      basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0>
      error: Internal data stream error.<br>
      0:00:00.132109933 18347 0x55e8e83d6f00 WARN                
      basesrc gstbasesrc.c:3127:gst_base_src_loop:<v4l2src0>
      error: streaming stopped, reason not-negotiated (-4)<br>
      FEJL: fra element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
      Internal data stream error.<br>
      Yderligere fejlsøgningsinformation:<br>
      ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop ():
      /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:<br>
      streaming stopped, reason not-negotiated (-4)<br>
      Execution ended after 0:00:00.000560010<br>
      Rørledning sættes til NUL ...<br>
      Rørledning frigøres ...<br>
    </p>
    <p>If you install v4l-utils you can use: v4l2-ctl -d
      <videodev> --all</p>
    <p>And it will tell you what it supports:</p>
    <p>Video input : 0 (Camera 1: ok)<br>
      Format Video Capture:<br>
          Width/Height      : 1280/720<br>
          Pixel Format      : 'YUYV' (YUYV 4:2:2)<br>
          Field             : None<br>
          Bytes per Line    : 2560<br>
          Size Image        : 1843200<br>
          Colorspace        : sRGB<br>
          Transfer Function : Default (maps to sRGB)<br>
          YCbCr/HSV Encoding: Default (maps to ITU-R 601)<br>
          Quantization      : Default (maps to Limited Range)<br>
          Flags             : <br>
      Crop Capability Video Capture:<br>
          Bounds      : Left 0, Top 0, Width 1280, Height 720<br>
          Default     : Left 0, Top 0, Width 1280, Height 720<br>
          Pixel Aspect: 1/1<br>
      Selection Video Capture: crop_default, Left 0, Top 0, Width 1280,
      Height 720, Flags: <br>
      Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1280,
      Height 720, Flags: <br>
      Streaming Parameters Video Capture:<br>
          Capabilities     : timeperframe<br>
          Frames per second: 10.000 (10/1)<br>
    </p>
    <p>Best Regards</p>
    <p>Marianna<br>
    </p>
    <blockquote type="cite"
cite="mid:mailman.141.1633947441.911.gstreamer-devel@lists.freedesktop.org">
      <pre class="moz-quote-pre" wrap="">Hi

I have a question on frame rate on gstreamer in coding. I have set a caps filter after the video src (v4l2src)

A code snippet
GstCaps *caps;
       caps   =  gst_caps_new_simple("video/x-raw",
                                                           "width",   G_TYPE_INT, 640,
                                                           "height",  G_TYPE_INT, 480,
                                                           "framerate",   GST_TYPE_FRACTION, 30, 1,
                                                           "is-live", G_TYPE_BOOLEAN, TRUE,
                                                            NULL);

if((gst_element_link_filtered(src,
                                              caps))!=TRUE)
{
                  g_print(" Could not link pipeline\n");
                  gst_object_unref (GST_OBJECT (pipeline));
                 return 0;
}

I have 3 branches to the source (1) Display (2) Records (3) sending video elsewhere. But it is only at caps, I define the size of video and the frame rate to collect

Video play smoothly.  However when I changed to a lower value of framerate to 25, the video refuse to play. I wonder why? isnt the lower framerate would have lesser stress on the system resource


A little other experiment that I have done using command line:

Pipeline play
</pre>
      <blockquote type="cite" style="color: #007cff;">
        <blockquote type="cite" style="color: #007cff;">
          <pre class="moz-quote-pre" wrap="">gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw, width=640, height=480, framerate=30/1 ! videoconvert ! autovideosink
</pre>
        </blockquote>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">Pipeline do not play
</pre>
      <blockquote type="cite" style="color: #007cff;">
        <blockquote type="cite" style="color: #007cff;">
          <pre class="moz-quote-pre" wrap="">gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw, width=640, height=480, framerate=25/1 ! videoconvert ! autovideosink
</pre>
        </blockquote>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">Would like suggestion on what to do next

Thanks</pre>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Best regards / Med venlig hilsen
“Marianna Smidth Buschle”</pre>
  </body>
</html>