This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Reducing MPU usage in GStreamer

Part Number: AM5728

Hello,

          When i simply execute below command, CPU usage is around: 3%.

command: 

=========

gst-launch-1.0 -v rtspsrc location="rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink

But when simply use gstreamer application in code.CPU usage increase too much (around 100%).

I am attaching one simple gstreamer application.

Why application using too much CPU?

Regards,

Kishan Patel.

#include <gst/gst.h>
#include <stdio.h>

int main(int argc, char *argv[]) 
{
  GstElement *pipeline;
  GstBus *bus;
  GstMessage *msg;

  const gchar *nano_str;
  guint major, minor, micro, nano;


  /* Initialize GStreamer */
  gst_init (&argc, &argv);

  gst_version (&major, &minor, &micro, &nano);

  printf ("GStreamer Version: %d.%d.%d\n",major, minor, micro);


  /* Build the pipeline */
  //pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);
  //pipeline = gst_parse_launch ("playbin uri=rtsp://admin:jenex#2018@192.168.1.108:554 video-sink=waylandsink",NULL);
  pipeline = gst_parse_launch ("playbin uri="rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" video-sink=waylandsink",NULL);
  //pipeline = gst_parse_launch ("playbin uri=rtsp://admin:admin@192.168.1.3:554 video-sink=waylandsink",NULL);

  
  //pipeline = gst_parse_launch ("rtspsrc location=rtsp://admin:admin@192.168.1.2:554 latency=0 ! decodebin ! videoconvert ! appsink ", NULL);
  //pipeline = gst_parse_launch ("rtspsrc location=rtsp://admin:jenex#2018@192.168.1.108:554 latency=0 ! decodebin ! videoconvert ! appsink ", NULL);


  /* Start playing */
  //gst_element_set_state (pipeline, GST_STATE_PAUSED);
  gst_element_set_state (pipeline, GST_STATE_PLAYING);

  /* Wait until error or EOS */
  bus = gst_element_get_bus (pipeline);
  msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);

  /* Free resources */
  if (msg != NULL)
    gst_message_unref (msg);
  gst_object_unref (bus);
  gst_element_set_state (pipeline, GST_STATE_NULL);
  gst_object_unref (pipeline);
  return 0;
}

  • Hello,

    You are not using the pipeline with which you are observing ~3% CPU load in the gstreamer application.
    Possible reason to observe this load is that there is videoconvert element and not only.
    You must create gstreamer application with the elements : rtspsrc, rtph264depay, h264parse, ducatih264decvpe, waylandsink.

    I would recommend you to create gstreamer application this way:
    1. bus function for errors:

    static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data)
    {
    GMainLoop *loop = (GMainLoop *) data;
    switch (GST_MESSAGE_TYPE (msg))
    {
    case GST_MESSAGE_EOS:
    g_print ("End of stream\n");
    g_main_loop_quit (loop);
    break;

    case GST_MESSAGE_ERROR:
    {
    gchar *debug;
    GError *error;
    gst_message_parse_error (msg, &error, &debug);
    g_free (debug);
    g_printerr ("Error: %s\n", error->message);
    g_error_free (error);
    g_main_loop_quit (loop);
    break;
    }

    default:
    break;
    }

    return TRUE;
    }


    2. Function for caps filter(s):


    static gboolean link_source_element_with_filter (GstElement *element1,
    GstElement *element2)

    {
    /* CAPS to be link:
    * 'video/x-raw, format=(string)YUY2, width=(int)800, height=(int)600, framerate=5/1'
    * */

    gboolean link_ok;
    GstCaps *caps;

    caps = gst_caps_new_simple ("video/x-raw",
    "format", G_TYPE_STRING, "NV12",
    "width", G_TYPE_INT, 800,
    "height", G_TYPE_INT, 600,
    "framerate", GST_TYPE_FRACTION, 5, 1,
    NULL);

    link_ok = gst_element_link_filtered (element1, element2, caps);
    gst_caps_unref (caps);

    if (!link_ok) {
    g_warning ("Failed to link element1 and element2!(ele1 ->ele2)");
    }
    return link_ok;

    }

    3. Main Function

    3.1 Create the empty pipeline (gst_pipeline_new());
    3.2 Create the elements one by one(rtspsrc, rtph264depay, h264parse, ducatih264decvpe, waylandsink). The function is gst_element_factory_make()
    3.3 Add properties (g_object_set()).
    3.4 Add elements to the pipeline(gst_bin_add_many()).
    3.5 Link the pads. Do not forget to link the caps filter(gst_element_link_pads() and for caps filter the name of the function for this ).
    3.6 Start playing the pipeline
    3.7 Wait until error or EOS
    3.8 Free resources;

    This is simple exmaple what you must have in your gstreamer application.
    You could google for gstreamer tutorials.

    gstreamer.freedesktop.org/.../concepts.html



    We are not supporting custom gstreamer applications but I could take a fast look in your source code after you make the changes  but only in case that you provide and the debug log.
    Only next week, I will be OoO so will be not possible.



    Best Regards,
    Margarita

  • Hello Margarita,
    I have simply used api as below:
    "rtspsrc location=rtsp://888888:888888@192.168.1.5:554 ! rtph264depay ! h264parse ! ducatih264dec ! waylandsnk sync=false"

    Regards,
    Kishan Patel.
  • Hello,

    kishan patel14 said:
    "rtspsrc location=rtsp://888888:888888@192.168.1.5:554 ! rtph264depay ! h264parse ! ducatih264dec ! waylandsnk sync=false"

    I am sorry but I do not see this in your code at all.

    As I said, we are not supporting custom gstreamer application.

    You said that with this pipeline

    gst-launch-1.0 -v rtspsrc location="rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink

    the CPU load is ~3% this means  something is wrong with your gsreamer application.

    If you want, you could try the suggestion in my previous answer.

    Hope this helps.

    BR
    Margarita

  • 7416.g_opencv.cppHello Margarita,

               I have using 2 application of gstreamer. I am attaching 2nd one to check.

    Please, check the application.

    Regards,

    Kishan Patel.

  • Hello,

    In your second application will be nice if you add some "queue" elements and add rtpjitterbuffer before rtph264depay element.
    Please check this documentation about latency.
    gstreamer.freedesktop.org/.../latency.html


    BR
    Margarita
  • Hello Margarita,

              Okay, I have add some "queue" elements and use rtpjittrtbuffer in a pipeline. I have chenged pipeline as below:

    previous pipeline:

    ===============

    #define NVR_CAM_VPE_CVT_NV12        "rtspsrc location=\"rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" latency=150 sync=false ! rtph264depay ! h264parse ! ducatih264decvpe ! video/x-raw, format=(string)NV12, width=(int)800, height=(int)600 ! appsink name=sink sync=false"

    Modified pipeline:

    ===============

    #define NVR_CAM_VPE_CVT_NV12        "rtspsrc location=\"rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" latency=150 sync=false ! rtpjitterbuffer ! rtph264depay ! h264parse ! queue ! ducatih264decvpe !queue ! video/x-raw, format=(string)NV12, width=(int)800, height=(int)600 ! queue ! appsink name=sink sync=false"

    But still CPU usage is about 100%.

    As till we know there is something wrong which increase CPU usage.Because we can play same pipeline with gst-launch api on terminal,it using around 3% CPU.

    I dont understand what would be wrong with this application.

    Regards,

    Kishan Patel.

  • Hello,

    This is in case gstreamer app+opencv right? I guess the CPU load, comes from opencv and appsink.
    You could check with fakesink silent=true what will be the load.
    You could check if there is any improvement if you set appsink sync=false max_buffers=2 drop=true .
    You may take a look into this thread:
    e2e.ti.com/.../2166326
    I would recommend you to check this chapter :
    processors.wiki.ti.com/.../Processor_Training:_Multimedia

    Hope this helps.

    BR
    Margarita
  • Hello Margarita,
    Thanks for reply. Yes, in this application you can see app+opencv. But we have commented (By pass) opencv functionality and just using gstreamer_app.
    I have tried to test application using above elements and flags. But pipeline has not proper and its not worked.

    Regards,
    Kishan Patel.
  • Hello Margarita,
    When i also add some flags in last "name=sink emit-signals=true", then its work. But CPU usage is same.(around 100%).

    Regards,
    Kishan Patel.
  • Hello,

    Please try exactly the same pipeline that is working and the CPU load is 3%.

    It is impossible the load with  the same pipeline in gstreamer application  to be 100%. This means something is wrong in your demo.

    I tested on my side with simple demo for capture(1280x720@30)->vpe(yuy2 to nv12)->h264enc->parse->mux->save in file.

    Here are results in both cases:

    Simple pipeline launched with gst-launch-1.0

    gst-launch-1.0 -e v4l2src io-mode=4 device=/dev/video1 num-buffers=1000 ! 'video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, framerate=(fraction)30/1' ! vpe num-input-buffers=8 ! queue ! ducatih264enc  ! queue ! h264parse ! qtmux ! filesink location=x.mov -e &

    top

    The CPU load with gst-launch-1.0 is ~ 5.6% :

    1208 root      20   0   66276   9168   6564 S   5.6  0.5   0:02.56 gst-launch+

    The same pipeline but in gstreamer application the load is ~5.0%:

    1263 root      20   0   66248   9064   6576 S   5.0  0.5   0:00.70 capture

    Here is my code:

    #include <stdio.h>
    #include <gst/gst.h>
    
    
    /* BUS function for ERROR */
    
    static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data)
    {
        GMainLoop *loop = (GMainLoop *) data;
        switch (GST_MESSAGE_TYPE (msg)) 
        {
            case GST_MESSAGE_EOS:
                g_print ("End of stream\n");
                g_main_loop_quit (loop);
                break;
     
            case GST_MESSAGE_ERROR: 
            {
                gchar  *debug;
                GError *error;
                gst_message_parse_error (msg, &error, &debug);
                g_free (debug);
                g_printerr ("Error: %s\n", error->message);
                g_error_free (error);
                g_main_loop_quit (loop);
                break;
            }
    
            default:
            break;
        }
     
        return TRUE;
     }
    
    
    static gboolean link_source_element_with_filter (GstElement *element1,
    GstElement *element2)
    
    {
    /* CAPS to be link:
    * 'video/x-raw, format=(string)YUY2, width=(int)800, height=(int)600, framerate=5/1'
    * */
    
    gboolean link_ok;
    GstCaps *caps;
    
    caps = gst_caps_new_simple ("video/x-raw",
    "format", G_TYPE_STRING, "NV12",
    "width", G_TYPE_INT, 1280,
    "height", G_TYPE_INT, 720,
    "framerate", GST_TYPE_FRACTION, 30, 1,
    NULL);
    
    link_ok = gst_element_link_filtered (element1, element2, caps);
    gst_caps_unref (caps);
    
    if (!link_ok) {
    g_warning ("Failed to link element1 and element2!(v4l2src->vpe)");
    }
    return link_ok;
    
    }
    
    
    void
    link_to_multiplexer(
        GstElement *tolink_element,
        GstElement *mux)
    {
        GstCaps          *pad_caps =NULL;
        GstPad           *pad;
        GstPad           *tolink_pad;
        GstPadLinkReturn  ret;
    
        tolink_pad = gst_element_get_static_pad(tolink_element, "src");
        pad_caps   = gst_pad_query_caps(tolink_pad, NULL);
        pad        = gst_element_get_compatible_pad(mux, tolink_pad, pad_caps);
        gst_caps_unref(pad_caps);
    
        ret = gst_pad_link(tolink_pad, pad);
        gst_object_unref(GST_OBJECT(pad));
        g_print("A new pad %s was created and linked to %s\n", gst_pad_get_name(tolink_pad), gst_pad_get_name(pad));
    }
    
    
    /* Main function does atual processing */
    
    int main (int argc , char *argv[])
    
    //gst-launch-1.0 -e v4l2src io-mode=4 device=/dev/video1 ! 'video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720, framerate=(fraction)30/1' ! vpe num-input-buffers=8 ! queue ! ducatih264enc ! queue ! h264parse ! qtmux ! filesink location=x.mov
    {
        GstElement *pipeline, *src, *convert, *q1, * enc, *q2, *parse, *q3, *mux, *sink;
        GstBus *bus;
        GstMessage *msg;
    
    
        gst_init (&argc, &argv);
    
        /* Create the empty pipeline */
        pipeline = gst_pipeline_new ("test-pipeline");
    
        /* Create the elements */
        src = gst_element_factory_make ("v4l2src", "video_source");
        g_object_set(G_OBJECT(src), "device", "/dev/video1", NULL);
        g_object_set(G_OBJECT(src), "io-mode", 4, NULL);
        g_object_set (G_OBJECT (src), "num-buffers", 1000,  NULL);
        convert = gst_element_factory_make ("vpe", "convert");
        g_object_set (G_OBJECT (convert), "num-input-buffers", 8,  NULL);
        q1 = gst_element_factory_make ("queue", "q1");
        enc = gst_element_factory_make ("ducatih264enc", "enc");
        q2 = gst_element_factory_make ("queue", "q2");
        parse = gst_element_factory_make ("h264parse", "parser");
        q3 = gst_element_factory_make ("queue", "q3");
        mux = gst_element_factory_make ("qtmux", "mux");
        sink = gst_element_factory_make ("filesink", "sink");
        g_object_set (G_OBJECT (sink), "location", "/home/root/x.mov",  NULL);
    
    
    
    
      
       gst_bin_add_many (GST_BIN (pipeline), src, convert, q1, enc, q2, parse, q3, mux, sink, NULL);
    
     
        
      link_source_element_with_filter (src, convert);
      //gst_element_link_pads (src, "src", convert, "sink");
      gst_element_link_pads (convert, "src", q1, "sink");
      gst_element_link_pads (q1, "src", enc, "sink");
      gst_element_link_pads (enc, "src", parse, "sink");
      gst_element_link_pads (parse, "src", q3, "sink");
      link_to_multiplexer (q3,  mux);
      gst_element_link_pads (mux, "src", sink, "sink");
    
    
    
    
        /* Start playing the pipeline */
        gst_element_set_state (pipeline, GST_STATE_PLAYING);
    
        /* Wait until error or EOS */
        bus = gst_element_get_bus (pipeline);
        msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
    
    
    
        /* Free resources */
        if (msg != NULL)
        {
            gst_message_unref (msg);
        }
        gst_object_unref (bus);
        gst_element_set_state (pipeline, GST_STATE_NULL);
    
        gst_object_unref (pipeline);
        return 0;
    }
    
    
    
    

    gcc test.c -o capture `pkg-config --libs --cflags gstreamer-1.0`

    ./capture &

    top

    I guess you could use gst_parse_launch api but I have not tried this on my side.

    I strongly recommend you to check the tutorials:

    gstreamer.freedesktop.org/.../threads.html

    Hope this helps.

    BR
    Margarita

  • Hello Margarita,
    I am pasting some line of code what we have tested.

    Command on terminal:
    ======================
    gst-launch-1.0 --gst-debug=vpe:3 -v rtspsrc location="rtsp://888888:888888@192.168.1.2:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink

    CPU_USAGE:
    ============
    About 3to5 %.

    Lines of Code:
    =============
    #define NVR_CAM_VPE_CVT_NV12 "rtspsrc location=\"rtsp://888888:888888@192.168.1.2:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" latency=150 sync=false ! rtph264depay ! h264parse ! ducatih264decvpe ! video/x-raw, format=(string)NV12, width=(int)800, height=(int)600 ! appsink name=sink sync=false"


    gchar *descr = g_strdup(
    NVR_CAM_VPE_CVT_NV12
    );


    // Check pipeline
    GError *error = nullptr;
    GstElement *pipeline = gst_parse_launch(descr, &error);


    CPU_USAGE:
    ============
    About 100%.

    Regards,
    Kishan Patel.
  • Hello,

    There is appsink in your second use case. Please replace it with waylandsink as in your first case and check the load.
    You are running only one camera right?

    BR
    Margarita
  • Hello Margarita,
    I have also test it by replacing with "waylandsink". But same CPU_USAGE.

    Regards,
    Kishan Patel.
  • Hello,

    Please recheck your gstreamer application code(without openCV) as I said it seems like something is wrong in it.
    We are not supporting custom gstreamer applications.
    You could use my gstreamer application as reference or check the tutorials that I shared with you in previous answers. The last tutorial is for threading for example.

    BR
    Margarita
  • Hello Margarita,
    As i told in previous thread, we are not using opencv application right now.
    Is there anything wrong with gstreamer application which i have attached last time.(We are also following tutorials)

    Regards,
    Kishan Patel.
  • Hello,

    Try the application that I shared with you, run only one pipeline.
    You must replace the elements with yours. Set the properties depending of your use case.
    You must comment the muxer function and link_to_multiplexer and gst_element_link_pads.
    I have not investigate the gst_launch_parse api so I am not sure what will be the load with it.
    Refer the tutoriasl not all includes the usage of this api.
    Hope this helps.

    BR
    Margarita

  • #include <gst/gst.h>
    #include <stdio.h>
    
    int main(int argc, char *argv[]) 
    {
      GstElement *pipeline;
      GstBus *bus;
      GstMessage *msg;
    
      const gchar *nano_str;
      guint major, minor, micro, nano;
    
    
      /* Initialize GStreamer */
      gst_init (&argc, &argv);
    
      gst_version (&major, &minor, &micro, &nano);
    
      printf ("GStreamer Version: %d.%d.%d\n",major, minor, micro);
    
    
      /* Build the pipeline */
      //pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);
      
    //Working
    //pipeline = gst_parse_launch ("playbin uri=rtsp://admin:jenex#2018@192.168.1.108:554 video-sink=waylandsink",NULL);
      //pipeline = gst_parse_launch ("playbin uri="rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" video-sink=waylandsink",NULL);
      //pipeline = gst_parse_launch ("playbin uri=rtsp://admin:admin@192.168.1.3:554 video-sink=waylandsink",NULL);
    
      //Not worked
      pipeline = gst_parse_launch ("rtspsrc location=rtsp://888888:888888@192.168.1.5:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink", NULL);
      
    
    
      /* Start playing */
      //gst_element_set_state (pipeline, GST_STATE_PAUSED);
      gst_element_set_state (pipeline, GST_STATE_PLAYING);
    
      /* Wait until error or EOS */
      bus = gst_element_get_bus (pipeline);
      msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
    
      /* Free resources */
      if (msg != NULL)
        gst_message_unref (msg);
      gst_object_unref (bus);
      gst_element_set_state (pipeline, GST_STATE_NULL);
      gst_object_unref (pipeline);
      return 0;
    }
    
    
    Hello Margarita,

               Please,check the attached file about gstreamer titorial. Which is simple application of gstreamer.

    This application is working properly. But when i have tried to add VPE elements as used command on terminal,application is not working.

    Regards,

    Kishan Patel.

  • Hello,

    VPE is working perfectly fine when is added in gstreamer application. Check the demo I shared, there is VPE element in it.
    Please, provide the error that you are observing, I can not guess.

    BR
    Margarita
  • Hello Margarita,
    Okay, I will send you exact error message,In parallel can you share me demo again which you are talking about?.

    Regards,
    Kishan Patel.
  • Hello,

    In this thread, I shared the code of gst application to check the cpu load compare to gst-launch. The use case in that I tested was v4l2src->vpe->encode->parse->mux-> save in file. I did not observed problem when vpe is used in gstreamer application.

    BR
    Margarita
  • Hello Margarita,
    When i have used pipeline as below in application i got error message:

    pipeline:
    -----------
    pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink", NULL);

    Error_log:
    -------------
    root@am57xx-evm:~/Testing# ./gst_tutorial
    GStreamer Version: 1.12.2

    (gst_tutorial:1255): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed

    (gst_tutorial:1255): GStreamer-CRITICAL **: gst_bus_timed_pop_filtered: assertion 'GST_IS_BUS (bus)' failed

    (gst_tutorial:1255): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed

    Regards,
    Kishan Patel.
  • Hello,

    In your case, you are parsing the caps filter wrong when you are using gst_parse_launch API.


    Here is my gst application that is using VPE and caps filter:
    This app decoding h264 video.


    #include <gst/gst.h>

    int main(int argc, char *argv[]) {
    GstElement *pipeline;
    GstBus *bus;
    GstMessage *msg;

    /* Initialize GStreamer */
    gst_init (&argc, &argv);

    /* Build the pipeline */

    pipeline = gst_parse_launch ("filesrc location=/usr/share/ti/video/HistoryOfTI-480p.264 ! queue ! h264parse ! ducatih264dec ! vpe ! capsfilter caps=video/x-raw,format=NV12,width=720,height=420 ! queue ! waylandsink" , NULL);


    /* Start playing */
    gst_element_set_state (pipeline, GST_STATE_PLAYING);

    /* Wait until error or EOS */
    bus = gst_element_get_bus (pipeline);
    msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);

    /* Free resources */
    if (msg != NULL)
    gst_message_unref (msg);
    gst_object_unref (bus);
    gst_element_set_state (pipeline, GST_STATE_NULL);
    gst_object_unref (pipeline);
    return 0;
    }

    When you execute your demo you could add ./decode --gst-debug=2 to check the errors. You could raise the debug level also.
    This is useful when you must debug gstreamer.

    BR
    Margarita
  • Hello Margarita,
    Please,check the below log:

    =======================================================
    root@am57xx-evm:~/Testing# ./gst_tutorial --gst-debug=2
    GStreamer Version: 1.12.2
    0:00:00.067586536 1347 0x144f40 WARN playbin gstplaybin2.c:1654:gst_playbin_uri_is_valid:<playbin0> uri 'rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25' not valid, character #72
    0:00:00.075797136 1347 0x144f40 WARN default grammar.y:1137:priv_gst_parse_yyerror: Error during parsing: syntax error, unexpected $undefined, expecting IDENTIFIER or BINREF or '('
    0:00:00.075856021 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.075895875 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.075971352 1347 0x144f40 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "video"!
    0:00:00.076002421 1347 0x144f40 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "video"

    (gst_tutorial:1347): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
    0:00:00.076142315 1347 0x144f40 ERROR GST_PIPELINE grammar.y:971:priv_gst_parse_yyparse: no source element for URI "/x-raw,"
    0:00:00.076172571 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.076193067 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.076217141 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.076236499 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.076257971 1347 0x144f40 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.078164587 1347 0x144f40 ERROR GST_PIPELINE grammar.y:740:gst_parse_perform_link: could not link playbin0 to queue0


    =======================================================
    root@am57xx-evm:~/Testing# ./gst_tutorial --gst-debug=4
    0:00:00.001568757 1353 0x2f080 INFO GST_INIT gstmessage.c:127:_priv_gst_message_initialize: init messages
    0:00:00.003803797 1353 0x2f080 INFO GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
    0:00:00.004551250 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
    0:00:00.005144984 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
    0:00:00.005291058 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
    0:00:00.005447056 1353 0x2f080 INFO GST_REGISTRY gstregistry.c:1721:ensure_current_registry: reading registry cache: /home/root/.cache/gstreamer-1.0/registry.arm.bin
    0:00:00.058918192 1353 0x2f080 INFO GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /home/root/.cache/gstreamer-1.0/registry.arm.bin in 0.053296 seconds
    0:00:00.059322906 1353 0x2f080 INFO GST_REGISTRY gstregistry.c:1577:scan_and_update_registry: Validating plugins from registry cache: /home/root/.cache/gstreamer-1.0/registry.arm.bin
    0:00:00.061752170 1353 0x2f080 INFO GST_REGISTRY gstregistry.c:1679:scan_and_update_registry: Registry cache has not changed
    0:00:00.061898082 1353 0x2f080 INFO GST_REGISTRY gstregistry.c:1756:ensure_current_registry: registry reading and updating done, result = 1
    0:00:00.061990151 1353 0x2f080 INFO GST_INIT gst.c:727:init_post: GLib runtime version: 2.52.3
    0:00:00.062077341 1353 0x2f080 INFO GST_INIT gst.c:729:init_post: GLib headers version: 2.52.3
    0:00:00.062162903 1353 0x2f080 INFO GST_INIT gst.c:730:init_post: initialized GStreamer successfully
    GStreamer Version: 1.12.2
    0:00:00.062358754 1353 0x2f080 INFO GST_PIPELINE gstparse.c:334:gst_parse_launch_full: parsing pipeline description 'playbin uri="rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! queue ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! queue ! waylandsink'
    0:00:00.066305698 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstplayback.so" loaded
    0:00:00.066462346 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "playbin"
    0:00:00.067850869 1353 0x2f080 WARN playbin gstplaybin2.c:1654:gst_playbin_uri_is_valid:<playbin0> uri 'rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25' not valid, character #72
    0:00:00.069165866 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstcoreelements.so" loaded
    0:00:00.069279733 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "queue"
    0:00:00.069644919 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a0f0> adding pad 'sink'
    0:00:00.069841421 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a0f0> adding pad 'src'
    0:00:00.072114199 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstrtp.so" loaded
    0:00:00.072239778 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "rtph264depay"
    0:00:00.072518263 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstRTPBaseDepayload@0x1730a8> adding pad 'sink'
    0:00:00.072642053 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstRTPBaseDepayload@0x1730a8> adding pad 'src'
    0:00:00.073763151 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstvideoparsersbad.so" loaded
    0:00:00.073913943 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "h264parse"
    0:00:00.074197146 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x1775a0> adding pad 'sink'
    0:00:00.074321911 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x1775a0> adding pad 'src'
    0:00:00.074440495 1353 0x2f080 INFO baseparse gstbaseparse.c:3943:gst_base_parse_set_pts_interpolation:<GstH264Parse@0x1775a0> PTS interpolation: yes
    0:00:00.076201199 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstducati.so" loaded
    0:00:00.076354431 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "ducatih264dec"
    0:00:00.076789565 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstDucatiVidDec@0x17d388> adding pad 'sink'
    0:00:00.076894485 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstDucatiVidDec@0x17d388> adding pad 'src'
    0:00:00.077570039 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstvpe.so" loaded
    0:00:00.077671869 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "vpe"
    0:00:00.078204927 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVpe@0x180030> adding pad 'sink'
    0:00:00.078334735 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVpe@0x180030> adding pad 'src'
    0:00:00.078453970 1353 0x2f080 WARN default grammar.y:1137:priv_gst_parse_yyerror: Error during parsing: syntax error, unexpected $undefined, expecting IDENTIFIER or BINREF or '('
    0:00:00.078556613 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.078647543 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.078733594 1353 0x2f080 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "video"!
    0:00:00.078819807 1353 0x2f080 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "video"

    (gst_tutorial:1353): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
    0:00:00.079173119 1353 0x2f080 ERROR GST_PIPELINE grammar.y:971:priv_gst_parse_yyparse: no source element for URI "/x-raw,"
    0:00:00.079267141 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.079350914 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.079435989 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.079519437 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.079622730 1353 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.079712847 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "queue"
    0:00:00.079857133 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a340> adding pad 'sink'
    0:00:00.079996701 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a340> adding pad 'src'
    0:00:00.081268754 1353 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstwaylandsink.so" loaded
    0:00:00.081380669 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "waylandsink"
    0:00:00.081856306 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseSink@0x1869c8> adding pad 'sink'
    0:00:00.081991645 1353 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "pipeline"
    0:00:00.082220191 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstPlayBin named playbin0 to some pad of GstQueue named queue0 (0/0) with caps "(NULL)"
    0:00:00.082334383 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element playbin0:(any) to element queue0:(any)
    0:00:00.082457522 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
    0:00:00.082600506 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1201:gst_element_get_compatible_pad:<playbin0> Could not find a compatible pad to link to queue0:sink
    0:00:00.082721367 1353 0x2f080 INFO default gstutils.c:2098:gst_element_link_pads_filtered: Could not link pads: playbin0:(null) - queue0:(null)
    0:00:00.082813437 1353 0x2f080 ERROR GST_PIPELINE grammar.y:740:gst_parse_perform_link: could not link playbin0 to queue0
    0:00:00.082930557 1353 0x2f080 INFO GST_PARENTAGE gstbin.c:1792:gst_bin_remove_func:<playbin0> removed child "playsink"
    0:00:00.083075005 1353 0x2f080 INFO GST_PARENTAGE gstbin.c:1792:gst_bin_remove_func:<playsink> removed child "streamsynchronizer0"
    0:00:00.083178623 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<streamsynchronizer0> 0x162888 dispose
    0:00:00.083269717 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<streamsynchronizer0> 0x162888 parent class dispose
    0:00:00.083386186 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<streamsynchronizer0> 0x162888 finalize
    0:00:00.083480370 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<streamsynchronizer0> 0x162888 finalize parent
    0:00:00.083572114 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<playsink> 0x164078 dispose
    0:00:00.083659791 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<playsink> 0x164078 parent class dispose
    0:00:00.083756578 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<playsink> 0x164078 finalize
    0:00:00.083842791 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<playsink> 0x164078 finalize parent
    0:00:00.083933559 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<playbin0> 0x776a0 dispose
    0:00:00.084064181 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<playbin0> 0x776a0 parent class dispose
    0:00:00.084161618 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<playbin0> 0x776a0 finalize
    0:00:00.084249783 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<playbin0> 0x776a0 finalize parent
    0:00:00.084337786 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstQueue named queue0 to some pad of GstRtpH264Depay named rtph264depay0 (0/0) with caps "(NULL)"
    0:00:00.084444983 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element queue0:(any) to element rtph264depay0:(any)
    0:00:00.084542583 1353 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link queue0:src and rtph264depay0:sink
    0:00:00.084645063 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:sink> pad has no peer
    0:00:00.084744941 1353 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: queue0 and rtph264depay0 in same bin, no need for ghost pads
    0:00:00.084850999 1353 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link queue0:src and rtph264depay0:sink
    0:00:00.084952666 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:sink> pad has no peer
    0:00:00.085051079 1353 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked queue0:src and rtph264depay0:sink, successful
    0:00:00.085142823 1353 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.085230338 1353 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event on flushing pad. Discarding
    0:00:00.085328263 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<queue0> 0x16a0f0 dispose
    0:00:00.085415941 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<queue0> removing pad 'sink'
    0:00:00.085520047 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<queue0> removing pad 'src'
    0:00:00.085605610 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking queue0:src(0x16c188) and rtph264depay0:sink(0x16c2d8)
    0:00:00.085713783 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked queue0:src and rtph264depay0:sink
    0:00:00.085826837 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<queue0> 0x16a0f0 parent class dispose
    0:00:00.085918743 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<queue0> 0x16a0f0 finalize
    0:00:00.086004957 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<queue0> 0x16a0f0 finalize parent
    0:00:00.086091821 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstRtpH264Depay named rtph264depay0 to some pad of GstH264Parse named h264parse0 (0/0) with caps "(NULL)"
    0:00:00.086196903 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element rtph264depay0:(any) to element h264parse0:(any)
    0:00:00.086294341 1353 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link rtph264depay0:src and h264parse0:sink
    0:00:00.086403653 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<h264parse0:src> pad has no peer
    0:00:00.086497674 1353 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: rtph264depay0 and h264parse0 in same bin, no need for ghost pads
    0:00:00.086599991 1353 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link rtph264depay0:src and h264parse0:sink
    0:00:00.086703935 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<h264parse0:src> pad has no peer
    0:00:00.086797957 1353 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked rtph264depay0:src and h264parse0:sink, successful
    0:00:00.086887098 1353 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.086972661 1353 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<rtph264depay0:src> Received event on flushing pad. Discarding
    0:00:00.087069610 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<rtph264depay0> 0x1730a8 dispose
    0:00:00.087156637 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<rtph264depay0> removing pad 'sink'
    0:00:00.087250821 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<rtph264depay0> removing pad 'src'
    0:00:00.087336546 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking rtph264depay0:src(0x16c428) and h264parse0:sink(0x16c578)
    0:00:00.087441466 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked rtph264depay0:src and h264parse0:sink
    0:00:00.087550290 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<rtph264depay0> 0x1730a8 parent class dispose
    0:00:00.087650330 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<rtph264depay0> 0x1730a8 finalize
    0:00:00.087738007 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<rtph264depay0> 0x1730a8 finalize parent
    0:00:00.087824871 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstH264Parse named h264parse0 to some pad of GstDucatiH264Dec named ducatih264dec0 (0/0) with caps "(NULL)"
    0:00:00.087929791 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element h264parse0:(any) to element ducatih264dec0:(any)
    0:00:00.088024789 1353 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link h264parse0:src and ducatih264dec0:sink
    0:00:00.088137191 1353 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: h264parse0 and ducatih264dec0 in same bin, no need for ghost pads
    0:00:00.088239509 1353 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link h264parse0:src and ducatih264dec0:sink
    0:00:00.088347357 1353 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked h264parse0:src and ducatih264dec0:sink, successful
    0:00:00.088437637 1353 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.088524826 1353 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<h264parse0:src> Received event on flushing pad. Discarding
    0:00:00.088622101 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<h264parse0> 0x1775a0 dispose
    0:00:00.088708802 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<h264parse0> removing pad 'sink'
    0:00:00.088804450 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<h264parse0> removing pad 'src'
    0:00:00.088889037 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking h264parse0:src(0x16c6c8) and ducatih264dec0:sink(0x16c818)
    0:00:00.088994119 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked h264parse0:src and ducatih264dec0:sink
    0:00:00.089123927 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<h264parse0> 0x1775a0 parent class dispose
    0:00:00.089224943 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<h264parse0> 0x1775a0 finalize
    0:00:00.089312133 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<h264parse0> 0x1775a0 finalize parent
    0:00:00.089398346 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstDucatiH264Dec named ducatih264dec0 to some pad of GstVpe named vpe0 (0/0) with caps "(NULL)"
    0:00:00.089503429 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element ducatih264dec0:(any) to element vpe0:(any)
    0:00:00.089596311 1353 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link ducatih264dec0:src and vpe0:sink
    0:00:00.089706274 1353 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: ducatih264dec0 and vpe0 in same bin, no need for ghost pads
    0:00:00.089806314 1353 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link ducatih264dec0:src and vpe0:sink
    0:00:00.089919205 1353 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked ducatih264dec0:src and vpe0:sink, successful
    0:00:00.090007370 1353 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.090092119 1353 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<ducatih264dec0:src> Received event on flushing pad. Discarding
    0:00:00.090187930 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<ducatih264dec0> 0x17d388 dispose
    0:00:00.090275445 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<ducatih264dec0> removing pad 'sink'
    0:00:00.090369791 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<ducatih264dec0> removing pad 'src'
    0:00:00.090453890 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking ducatih264dec0:src(0x16c968) and vpe0:sink(0x16cab8)
    0:00:00.090556207 1353 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked ducatih264dec0:src and vpe0:sink
    0:00:00.090667471 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<ducatih264dec0> 0x17d388 parent class dispose
    0:00:00.090785730 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<ducatih264dec0> 0x17d388 finalize
    0:00:00.090875197 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<ducatih264dec0> 0x17d388 finalize parent
    0:00:00.090964663 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<vpe0> 0x180030 dispose
    0:00:00.091051365 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<vpe0> removing pad 'sink'
    0:00:00.091148151 1353 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<vpe0> removing pad 'src'
    0:00:00.091251119 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<vpe0> 0x180030 parent class dispose
    0:00:00.091343351 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<vpe0> 0x180030 finalize
    0:00:00.091428101 1353 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<vpe0> 0x180030 finalize parent
    0:00:00.091515127 1353 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstQueue named queue1 to some pad of GstWaylandSink named waylandsink0 (0/0) with caps "(NULL)"
    0:00:00.091615493 1353 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element queue1:(any) to element waylandsink0:(any)
    0:00:00.091709839 1353 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link queue1:src and waylandsink0:sink
    0:00:00.091810367 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.091972221 1353 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: queue1 and waylandsink0 in same bin, no need for ghost pads
    0:00:00.092077466 1353 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link queue1:src and waylandsink0:sink
    0:00:00.092179458 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.092336594 1353 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked queue1:src and waylandsink0:sink, successful
    0:00:00.092426711 1353 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.092510810 1353 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<queue1:src> Received event on flushing pad. Discarding
    0:00:00.092657535 1353 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<waylandsink0> current NULL pending VOID_PENDING, desired next READY
    0:00:00.092857615 1353 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.093729834 1353 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<waylandsink0> completed state change to READY
    0:00:00.093874607 1353 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<waylandsink0> notifying about state-changed NULL to READY (VOID_PENDING pending)
    0:00:00.093993029 1353 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'waylandsink0' changed state to 2(READY) successfully
    0:00:00.094096647 1353 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<queue1> current NULL pending VOID_PENDING, desired next READY
    0:00:00.094191645 1353 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<queue1> completed state change to READY
    0:00:00.094277858 1353 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<queue1> notifying about state-changed NULL to READY (VOID_PENDING pending)
    0:00:00.094379362 1353 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'queue1' changed state to 2(READY) successfully
    0:00:00.094479727 1353 0x2f080 INFO GST_STATES gstelement.c:2442:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PLAYING, next PAUSED
    0:00:00.094574562 1353 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PLAYING pending)
    0:00:00.094672975 1353 0x2f080 INFO GST_STATES gstelement.c:2449:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PLAYING
    0:00:00.094786029 1353 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<waylandsink0> current READY pending VOID_PENDING, desired next PAUSED
    0:00:00.094899082 1353 0x2f080 INFO GST_STATES gstbin.c:2945:gst_bin_change_state_func:<pipeline0> child 'waylandsink0' is changing state asynchronously to PAUSED
    0:00:00.094996519 1353 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<queue1> current READY pending VOID_PENDING, desired next PAUSED
    0:00:00.095123074 1353 0x2f080 INFO task gsttask.c:457:gst_task_set_lock: setting stream lock 0x16cef4 on task 0x178828
    0:00:00.095216282 1353 0x2f080 INFO GST_PADS gstpad.c:6001:gst_pad_start_task:<queue1:src> created task 0x178828
    0:00:00.095393101 1353 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<queue1> completed state change to PAUSED
    0:00:00.095497370 1353 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<queue1> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
    0:00:00.095607495 1353 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'queue1' changed state to 3(PAUSED) successfull


    Regards,
    Kishan Patel.
  • Hello,

    kishan patel14 said:
    0:00:00.062358754 1353 0x2f080 INFO GST_PIPELINE gstparse.c:334:gst_parse_launch_full: parsing pipeline description 'playbin uri="rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! queue ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! queue ! waylandsink'

    Did you even check the answer in previous post?

    This is how you must parse the CAPSFILTER:

    .... vpe ! capsfilter caps=video/x-raw,format=NV12,width=720,height=420 ! ...

    VPE is working fine even when the gst_parse_launch API is used!

    BR
    Margarita

  • Hello Margarita,
    Same issue occur.Please,check the below log:

    root@am57xx-evm:~/Testing# ./gst_tutorial
    GStreamer Version: 1.12.2

    (gst_tutorial:1457): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
    ^C
    root@am57xx-evm:~/Testing# ./gst_tutorial --gst-debug=4
    0:00:00.001675629 1461 0x2f080 INFO GST_INIT gstmessage.c:127:_priv_gst_message_initialize: init messages
    0:00:00.003793224 1461 0x2f080 INFO GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
    0:00:00.004466826 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
    0:00:00.004982805 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
    0:00:00.005108221 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
    0:00:00.005242584 1461 0x2f080 INFO GST_REGISTRY gstregistry.c:1721:ensure_current_registry: reading registry cache: /home/root/.cache/gstreamer-1.0/registry.arm.bin
    0:00:00.061661239 1461 0x2f080 INFO GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /home/root/.cache/gstreamer-1.0/registry.arm.bin in 0.056268 seconds
    0:00:00.062073762 1461 0x2f080 INFO GST_REGISTRY gstregistry.c:1577:scan_and_update_registry: Validating plugins from registry cache: /home/root/.cache/gstreamer-1.0/registry.arm.bin
    0:00:00.064423645 1461 0x2f080 INFO GST_REGISTRY gstregistry.c:1679:scan_and_update_registry: Registry cache has not changed
    0:00:00.064679031 1461 0x2f080 INFO GST_REGISTRY gstregistry.c:1756:ensure_current_registry: registry reading and updating done, result = 1
    0:00:00.064768335 1461 0x2f080 INFO GST_INIT gst.c:727:init_post: GLib runtime version: 2.52.3
    0:00:00.064856175 1461 0x2f080 INFO GST_INIT gst.c:729:init_post: GLib headers version: 2.52.3
    0:00:00.064941738 1461 0x2f080 INFO GST_INIT gst.c:730:init_post: initialized GStreamer successfully
    GStreamer Version: 1.12.2
    0:00:00.065133847 1461 0x2f080 INFO GST_PIPELINE gstparse.c:334:gst_parse_launch_full: parsing pipeline description 'playbin uri="rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25" ! queue ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! 'video/x-raw, format=NV12, width=800, height=600' ! queue ! waylandsink'
    0:00:00.069231258 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstplayback.so" loaded
    0:00:00.069414583 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "playbin"
    0:00:00.070873378 1461 0x2f080 WARN playbin gstplaybin2.c:1654:gst_playbin_uri_is_valid:<playbin0> uri 'rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25' not valid, character #72
    0:00:00.072301591 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstcoreelements.so" loaded
    0:00:00.072489471 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "queue"
    0:00:00.072911917 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a0f0> adding pad 'sink'
    0:00:00.073060106 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a0f0> adding pad 'src'
    0:00:00.075391282 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstrtp.so" loaded
    0:00:00.075543050 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "rtph264depay"
    0:00:00.075823325 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstRTPBaseDepayload@0x1720a8> adding pad 'sink'
    0:00:00.075947439 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstRTPBaseDepayload@0x1720a8> adding pad 'src'
    0:00:00.077062845 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstvideoparsersbad.so" loaded
    0:00:00.077180941 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "h264parse"
    0:00:00.077457311 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x177428> adding pad 'sink'
    0:00:00.077616237 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseParse@0x177428> adding pad 'src'
    0:00:00.077737749 1461 0x2f080 INFO baseparse gstbaseparse.c:3943:gst_base_parse_set_pts_interpolation:<GstH264Parse@0x177428> PTS interpolation: yes
    0:00:00.079557826 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstducati.so" loaded
    0:00:00.079681615 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "ducatih264dec"
    0:00:00.080207029 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstDucatiVidDec@0x17d1a0> adding pad 'sink'
    0:00:00.080316341 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstDucatiVidDec@0x17d1a0> adding pad 'src'
    0:00:00.080998565 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstvpe.so" loaded
    0:00:00.081129674 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "vpe"
    0:00:00.081679975 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVpe@0x180030> adding pad 'sink'
    0:00:00.081781642 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstVpe@0x180030> adding pad 'src'
    0:00:00.081930482 1461 0x2f080 WARN default grammar.y:1137:priv_gst_parse_yyerror: Error during parsing: syntax error, unexpected $undefined, expecting IDENTIFIER or BINREF or '('
    0:00:00.082035402 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.082128285 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.082214173 1461 0x2f080 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "video"!
    0:00:00.082350487 1461 0x2f080 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "video"

    (gst_tutorial:1461): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion 'gst_uri_is_valid (uri)' failed
    0:00:00.082611567 1461 0x2f080 ERROR GST_PIPELINE grammar.y:971:priv_gst_parse_yyparse: no source element for URI "/x-raw,"
    0:00:00.082703149 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.082786922 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.082871997 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.082981146 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.083064919 1461 0x2f080 ERROR GST_PIPELINE grammar.y:1061:priv_gst_parse_yyparse: syntax error
    0:00:00.083152597 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "queue"
    0:00:00.083298346 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a340> adding pad 'sink'
    0:00:00.083479882 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstQueue@0x16a340> adding pad 'src'
    0:00:00.084743314 1461 0x2f080 INFO GST_PLUGIN_LOADING gstplugin.c:843:_priv_gst_plugin_load_file_for_registry: plugin "/usr/lib/gstreamer-1.0/libgstwaylandsink.so" loaded
    0:00:00.084857831 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "waylandsink"
    0:00:00.085398047 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:670:gst_element_add_pad:<GstBaseSink@0x1865c8> adding pad 'sink'
    0:00:00.085529319 1461 0x2f080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:361:gst_element_factory_create: creating element "pipeline"
    0:00:00.085810245 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstPlayBin named playbin0 to some pad of GstQueue named queue0 (0/0) with caps "(NULL)"
    0:00:00.085924925 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element playbin0:(any) to element queue0:(any)
    0:00:00.086048063 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:src> pad has no peer
    0:00:00.086190234 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1201:gst_element_get_compatible_pad:<playbin0> Could not find a compatible pad to link to queue0:sink
    0:00:00.086285069 1461 0x2f080 INFO default gstutils.c:2098:gst_element_link_pads_filtered: Could not link pads: playbin0:(null) - queue0:(null)
    0:00:00.086375999 1461 0x2f080 ERROR GST_PIPELINE grammar.y:740:gst_parse_perform_link: could not link playbin0 to queue0
    0:00:00.086520285 1461 0x2f080 INFO GST_PARENTAGE gstbin.c:1792:gst_bin_remove_func:<playbin0> removed child "playsink"
    0:00:00.086664570 1461 0x2f080 INFO GST_PARENTAGE gstbin.c:1792:gst_bin_remove_func:<playsink> removed child "streamsynchronizer0"
    0:00:00.086767863 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<streamsynchronizer0> 0x164088 dispose
    0:00:00.086857493 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<streamsynchronizer0> 0x164088 parent class dispose
    0:00:00.086948261 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<streamsynchronizer0> 0x164088 finalize
    0:00:00.087041306 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<streamsynchronizer0> 0x164088 finalize parent
    0:00:00.087156149 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<playsink> 0x162078 dispose
    0:00:00.087243826 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<playsink> 0x162078 parent class dispose
    0:00:00.087341263 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<playsink> 0x162078 finalize
    0:00:00.087427639 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<playsink> 0x162078 finalize parent
    0:00:00.087517269 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<playbin0> 0x79c08 dispose
    0:00:00.087648866 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<playbin0> 0x79c08 parent class dispose
    0:00:00.087771842 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<playbin0> 0x79c08 finalize
    0:00:00.087860170 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<playbin0> 0x79c08 finalize parent
    0:00:00.087947522 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstQueue named queue0 to some pad of GstRtpH264Depay named rtph264depay0 (0/0) with caps "(NULL)"
    0:00:00.088050815 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element queue0:(any) to element rtph264depay0:(any)
    0:00:00.088147927 1461 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link queue0:src and rtph264depay0:sink
    0:00:00.088249594 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:sink> pad has no peer
    0:00:00.088373871 1461 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: queue0 and rtph264depay0 in same bin, no need for ghost pads
    0:00:00.088479605 1461 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link queue0:src and rtph264depay0:sink
    0:00:00.088582085 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue0:sink> pad has no peer
    0:00:00.088681637 1461 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked queue0:src and rtph264depay0:sink, successful
    0:00:00.088772079 1461 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.088860082 1461 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<queue0:src> Received event on flushing pad. Discarding
    0:00:00.088983709 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<queue0> 0x16a0f0 dispose
    0:00:00.089072850 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<queue0> removing pad 'sink'
    0:00:00.089178909 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<queue0> removing pad 'src'
    0:00:00.089263658 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking queue0:src(0x16c188) and rtph264depay0:sink(0x16c2d8)
    0:00:00.089369879 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked queue0:src and rtph264depay0:sink
    0:00:00.089482770 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<queue0> 0x16a0f0 parent class dispose
    0:00:00.089600541 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<queue0> 0x16a0f0 finalize
    0:00:00.089688706 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<queue0> 0x16a0f0 finalize parent
    0:00:00.089775733 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstRtpH264Depay named rtph264depay0 to some pad of GstH264Parse named h264parse0 (0/0) with caps "(NULL)"
    0:00:00.089884394 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element rtph264depay0:(any) to element h264parse0:(any)
    0:00:00.089981181 1461 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link rtph264depay0:src and h264parse0:sink
    0:00:00.090114730 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<h264parse0:src> pad has no peer
    0:00:00.090209077 1461 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: rtph264depay0 and h264parse0 in same bin, no need for ghost pads
    0:00:00.090312533 1461 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link rtph264depay0:src and h264parse0:sink
    0:00:00.090417778 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<h264parse0:src> pad has no peer
    0:00:00.090510173 1461 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked rtph264depay0:src and h264parse0:sink, successful
    0:00:00.090598338 1461 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.090708626 1461 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<rtph264depay0:src> Received event on flushing pad. Discarding
    0:00:00.090807527 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<rtph264depay0> 0x1720a8 dispose
    0:00:00.090894229 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<rtph264depay0> removing pad 'sink'
    0:00:00.090989389 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<rtph264depay0> removing pad 'src'
    0:00:00.091094797 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking rtph264depay0:src(0x16c428) and h264parse0:sink(0x16c578)
    0:00:00.091202157 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked rtph264depay0:src and h264parse0:sink
    0:00:00.091337170 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<rtph264depay0> 0x1720a8 parent class dispose
    0:00:00.091438511 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<rtph264depay0> 0x1720a8 finalize
    0:00:00.091526677 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<rtph264depay0> 0x1720a8 finalize parent
    0:00:00.091666895 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstH264Parse named h264parse0 to some pad of GstDucatiH264Dec named ducatih264dec0 (0/0) with caps "(NULL)"
    0:00:00.091774093 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element h264parse0:(any) to element ducatih264dec0:(any)
    0:00:00.091870229 1461 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link h264parse0:src and ducatih264dec0:sink
    0:00:00.091984258 1461 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: h264parse0 and ducatih264dec0 in same bin, no need for ghost pads
    0:00:00.092086738 1461 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link h264parse0:src and ducatih264dec0:sink
    0:00:00.092218823 1461 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked h264parse0:src and ducatih264dec0:sink, successful
    0:00:00.092310079 1461 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.092396293 1461 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<h264parse0:src> Received event on flushing pad. Discarding
    0:00:00.092494218 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<h264parse0> 0x177428 dispose
    0:00:00.092599789 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<h264parse0> removing pad 'sink'
    0:00:00.092695437 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<h264parse0> removing pad 'src'
    0:00:00.092802471 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking h264parse0:src(0x16c6c8) and ducatih264dec0:sink(0x16c818)
    0:00:00.092908367 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked h264parse0:src and ducatih264dec0:sink
    0:00:00.093019631 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<h264parse0> 0x177428 parent class dispose
    0:00:00.093121298 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<h264parse0> 0x177428 finalize
    0:00:00.093208487 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<h264parse0> 0x177428 finalize parent
    0:00:00.093296653 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstDucatiH264Dec named ducatih264dec0 to some pad of GstVpe named vpe0 (0/0) with caps "(NULL)"
    0:00:00.093422231 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element ducatih264dec0:(any) to element vpe0:(any)
    0:00:00.093518693 1461 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link ducatih264dec0:src and vpe0:sink
    0:00:00.093631258 1461 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: ducatih264dec0 and vpe0 in same bin, no need for ghost pads
    0:00:00.093732274 1461 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link ducatih264dec0:src and vpe0:sink
    0:00:00.093838983 1461 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked ducatih264dec0:src and vpe0:sink, successful
    0:00:00.093929101 1461 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.094014663 1461 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<ducatih264dec0:src> Received event on flushing pad. Discarding
    0:00:00.094111613 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<ducatih264dec0> 0x17d1a0 dispose
    0:00:00.094198802 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<ducatih264dec0> removing pad 'sink'
    0:00:00.094293474 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<ducatih264dec0> removing pad 'src'
    0:00:00.094377898 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2072:gst_pad_unlink: unlinking ducatih264dec0:src(0x16c968) and vpe0:sink(0x16cab8)
    0:00:00.094483957 1461 0x2f080 INFO GST_ELEMENT_PADS gstpad.c:2126:gst_pad_unlink: unlinked ducatih264dec0:src and vpe0:sink
    0:00:00.094597010 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<ducatih264dec0> 0x17d1a0 parent class dispose
    0:00:00.094691031 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<ducatih264dec0> 0x17d1a0 finalize
    0:00:00.094777570 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<ducatih264dec0> 0x17d1a0 finalize parent
    0:00:00.094866061 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3042:gst_element_dispose:<vpe0> 0x180030 dispose
    0:00:00.094951786 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<vpe0> removing pad 'sink'
    0:00:00.095049549 1461 0x2f080 INFO GST_ELEMENT_PADS gstelement.c:787:gst_element_remove_pad:<vpe0> removing pad 'src'
    0:00:00.095146173 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3088:gst_element_dispose:<vpe0> 0x180030 parent class dispose
    0:00:00.095236941 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3119:gst_element_finalize:<vpe0> 0x180030 finalize
    0:00:00.095321853 1461 0x2f080 INFO GST_REFCOUNTING gstelement.c:3125:gst_element_finalize:<vpe0> 0x180030 finalize parent
    0:00:00.095409693 1461 0x2f080 INFO GST_PIPELINE grammar.y:652:gst_parse_perform_link: linking some pad of GstQueue named queue1 to some pad of GstWaylandSink named waylandsink0 (0/0) with caps "(NULL)"
    0:00:00.095510709 1461 0x2f080 INFO GST_ELEMENT_PADS gstutils.c:1709:gst_element_link_pads_full: trying to link element queue1:(any) to element waylandsink0:(any)
    0:00:00.095608309 1461 0x2f080 INFO GST_PADS gstutils.c:1009:gst_pad_check_link: trying to link queue1:src and waylandsink0:sink
    0:00:00.095709325 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.095871341 1461 0x2f080 INFO GST_PADS gstutils.c:1523:prepare_link_maybe_ghosting: queue1 and waylandsink0 in same bin, no need for ghost pads
    0:00:00.095976749 1461 0x2f080 INFO GST_PADS gstpad.c:2316:gst_pad_link_prepare: trying to link queue1:src and waylandsink0:sink
    0:00:00.096078903 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.096235877 1461 0x2f080 INFO GST_PADS gstpad.c:2524:gst_pad_link_full: linked queue1:src and waylandsink0:sink, successful
    0:00:00.096327295 1461 0x2f080 INFO GST_EVENT gstevent.c:1512:gst_event_new_reconfigure: creating reconfigure event
    0:00:00.096411882 1461 0x2f080 INFO GST_EVENT gstpad.c:5655:gst_pad_send_event_unchecked:<queue1:src> Received event on flushing pad. Discarding
    0:00:00.096554378 1461 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<waylandsink0> current NULL pending VOID_PENDING, desired next READY
    0:00:00.096662714 1461 0x2f080 INFO GST_PADS gstpad.c:4115:gst_pad_peer_query:<queue1:sink> pad has no peer
    0:00:00.097377146 1461 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<waylandsink0> completed state change to READY
    0:00:00.097505165 1461 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<waylandsink0> notifying about state-changed NULL to READY (VOID_PENDING pending)
    0:00:00.097624725 1461 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'waylandsink0' changed state to 2(READY) successfully
    0:00:00.097727530 1461 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<queue1> current NULL pending VOID_PENDING, desired next READY
    0:00:00.097823829 1461 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<queue1> completed state change to READY
    0:00:00.097910367 1461 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<queue1> notifying about state-changed NULL to READY (VOID_PENDING pending)
    0:00:00.098013173 1461 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'queue1' changed state to 2(READY) successfully
    0:00:00.098115815 1461 0x2f080 INFO GST_STATES gstelement.c:2442:gst_element_continue_state:<pipeline0> committing state from NULL to READY, pending PLAYING, next PAUSED
    0:00:00.098212114 1461 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<pipeline0> notifying about state-changed NULL to READY (PLAYING pending)
    0:00:00.098312479 1461 0x2f080 INFO GST_STATES gstelement.c:2449:gst_element_continue_state:<pipeline0> continue state change READY to PAUSED, final PLAYING
    0:00:00.098424557 1461 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<waylandsink0> current READY pending VOID_PENDING, desired next PAUSED
    0:00:00.098536959 1461 0x2f080 INFO GST_STATES gstbin.c:2945:gst_bin_change_state_func:<pipeline0> child 'waylandsink0' is changing state asynchronously to PAUSED
    0:00:00.098636999 1461 0x2f080 INFO GST_STATES gstbin.c:2491:gst_bin_element_set_state:<queue1> current READY pending VOID_PENDING, desired next PAUSED
    0:00:00.098762741 1461 0x2f080 INFO task gsttask.c:457:gst_task_set_lock: setting stream lock 0x16cef4 on task 0x178828
    0:00:00.098856111 1461 0x2f080 INFO GST_PADS gstpad.c:6001:gst_pad_start_task:<queue1:src> created task 0x178828
    0:00:00.099032767 1461 0x2f080 INFO GST_STATES gstelement.c:2467:gst_element_continue_state:<queue1> completed state change to PAUSED
    0:00:00.099136711 1461 0x2f080 INFO GST_STATES gstelement.c:2372:_priv_gst_element_state_changed:<queue1> notifying about state-changed READY to PAUSED (VOID_PENDING pending)
    0:00:00.099245535 1461 0x2f080 INFO GST_STATES gstbin.c:2939:gst_bin_change_state_func:<pipeline0> child 'queue1' changed state to 3(PAUSED) successfull


    Regards,
    Kishan Patel.
  • Hello,

    Share your source and check this error:

    0:00:00.082214173 1461 0x2f080 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory "video"!
    0:00:00.082350487 1461 0x2f080 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: no element "video"

    for some reason gstreamer trying to create element with name "video"which not exists. Probably you have a syntactic error somewhere.

    BR
    Margarita
  • #include <gst/gst.h>
    #include <stdio.h>
    
    int main(int argc, char *argv[]) 
    {
      GstElement *pipeline;
      GstBus *bus;
      GstMessage *msg;
    
      const gchar *nano_str;
      guint major, minor, micro, nano;
    
    
      /* Initialize GStreamer */
      gst_init (&argc, &argv);
    
      gst_version (&major, &minor, &micro, &nano);
    
      printf ("GStreamer Version: %d.%d.%d\n",major, minor, micro);
    
    
      /* Build the pipeline */
      //pipeline = gst_parse_launch ("playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm", NULL);
      
      //pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" video-sink=waylandsink",NULL);
      //pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.2:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" video-sink=waylandsink",NULL);
      //pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.2:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" latency=150 sync=false ! rtph264depay ! h264parse ! ducatih264decvpe ! video/x-raw, format=(string)NV12, width=(int)800, height=(int)600 ! appsink name=sink sync=false",NULL);
      //pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.2:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" latency=150 sync=false ! rtph264depay ! h264parse ! ducatih264dec ! videoconvert ! video/x-raw,format=(string)NV12 ! appsink name=sink sync=false",NULL);
      //pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink", NULL);
    pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink", NULL);
      
      //pipeline = gst_parse_launch ("rtspsrc location=rtsp://admin:admin@192.168.1.2:554 latency=0 ! decodebin ! videoconvert ! appsink ", NULL);
      //pipeline = gst_parse_launch ("rtspsrc location=rtsp://admin:jenex#2018@192.168.1.108:554 latency=0 ! decodebin ! videoconvert ! appsink ", NULL);
    
    
      /* Start playing */
      //gst_element_set_state (pipeline, GST_STATE_PAUSED);
      gst_element_set_state (pipeline, GST_STATE_PLAYING);
    
      /* Wait until error or EOS */
      bus = gst_element_get_bus (pipeline);
      msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
    
      /* Free resources */
      if (msg != NULL)
        gst_message_unref (msg);
      gst_object_unref (bus);
      gst_element_set_state (pipeline, GST_STATE_NULL);
      gst_object_unref (pipeline);
      return 0;
    }
    
    
    Hello Margarita,

               Okay, i am sharing application again. I have editing it and testing but pipeline has not perfect to work.

    Regards,

    Kishan Patel.

  • Hello,

    Please in this source I still see that you are using not edited capsfilter:
    pipeline = gst_parse_launch ("playbin uri=\"rtsp://888888:888888@192.168.1.4:554/cam/realmonitor?channel=1&subtype=1 --live --fps 25\" ! rtph264depay ! h264parse ! ducatih264decvpe ! 'video/x-raw, format=(string)NV12, width=(int)800, height=(int)600' ! waylandsink", NULL);
    Even in the previous debug log I still see that you did not edit it.

    I have asked you few times to change it.

    .... vpe ! capsfilter caps=video/x-raw,format=NV12,width=800,height=600 ! waylandsink

    Please try to use rtspsrc instead of playbin.



    BR
    Margarita
  • gst_vpe_test.txtHello Margarita,

               Sorry, i forgot to tell you that i have changed pipeline as "vpe ! capsfilter caps=video/x-raw,format=NV12,width=800,height=600 ! waylandsink

    ". But still its not works.

    I am attaching log file for that pipeline.

    Regards,

    Kishan Patel.

  • Hello,

    Thanks.
    There is no error related to caps filter any more(only with playbin and weston).
    Please replace playbin with rtspsrc.
    Something like:
    pipeline = gst_parse_launch ("rtspsrc location=rtsp://admin:jenex#2018@192.168.1.108:554 latency=0 ! rtph264depay ! h264parse ! ducatih264dec ! vpe ! capsfilter caps=video/x-raw,format=NV12,width=800,height=600 ! waylandsink" , NULL)

    If still does not work post gst_parse_launch and debug=2.



    BR
    Margarita

  • 6825.g_opencv.cppHello Margarita,

               Yes, i have  changed it and its working fine.

    And if i do same thing on other application. It has also worked as before.

    But CPU_USAGE for this application is same as about 100%.

    I am again sending that application.

    Please, check it.

    Regards,

    Kishan Patel.

  • Hello,

    I guess you are observing 100% CPU load with the gst application + opencv. Keep in mind that this g_opencv app, the opencv is running on A15.

    BR
    Margarita
  • Hello Margarita,
    Please check the application as i told before we have not using opencv functionality.

    Regards,
    Kishan Patel.
  • Hello,

    You mean with this application: gst_tutorial.c you are observing 100% also?
    But with gst-launch you do not right?
    If yes, you should look into your gst app.

    BR
    Margarita
  • Hello Margarita,
    No, gst_tutorial application uses CPU around 4%. But another application also using same pipeline but CPU_USAGE is about 100%.
    Thats why i have shared both application.

    Regards,
    Kishan Patel.