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.

[参考译文] Linux/AM5728:GStreamer 应用程序错误

Guru**** 2618835 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/663067/linux-am5728-gstreamer-application-error

器件型号:AM5728

工具/软件:Linux

您好!

我们正在开发用于接收 RTP 视频数据的以太网流并存储在文件中的应用。以下管道用于在 shell 上正常工作的接收。

gst-launch-1.0 udpsrc 端口=500! 'application/x-rtp、media=video、loady=97、clock-rate =90000、encoding-name=MP2T'! 非常棒! 文件链接位置=/home/root/video.mp4.

 当在 c 文件中实现相同的操作时、我们会收到以下错误:

GST_capsfilter_prepare_Buf:断言'out_caps! =NULL'失败

c 代码的 capsfilter 部分是

G_object_set (G_object (filter1)、"caps"、GST_caps_new_Simple ("application/x-rtp"、"媒体"、G_type_string、"视频"、"有效载荷"、 G_TYPE_INT、33、"时钟速率"、G_TYPE_INT、90000、NULL)、NULL);

 


任何机构都能帮助我们吗?

BR

Marka Reddy

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    下面是如何在 GST 应用程序中设置 capsfilter 的示例。 在此示例中、cap 滤波器介于 v4l2src 和 video/convert 之间。




    静态 gboolean link_source_element_wo_filter (GstElement *元件1、
    GstElement *元件2)


    要链接的/* CAPS:
    *'video/x-raw、format=(string) YUY2、width=(int) 800、height=(int) 600、framerate=5/1'
    ***/

    gboolean link_ok;
    GstCaps *caps;

    CAP = GST_caps_new_Simple ("video/x-rain"、
    "format"、G_TYPE_string、"NV12"、
    "宽度"、G_TYPE_INT、800、
    "高度"、G_TYPE_INT、600、
    "帧速率"、GST_TYPE_FRATE、5、1、
    null);

    LINK_OK = GST_ELEGER_LINK_FILTERED (元件1、元件2、电容);
    GST_caps_UNREF (cap);

    如果(!link_ok){
    G_warning ("链接元件1和元件2失败!(v4l2src->convert)");

    返回 LINK_OK;


    .


    int main (内部 main)()


    //创建元素

    //设置优先级

    //将元素添加到 bin
    (笑声)
    //链接元素(包括带有过滤器的元素)



    link_source_element_with 滤波器(src、convert);



    //移动到播放等...



    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我们已根据给定的示例实施

    如所示 link_source_element_with 过滤器(src、rtpdepay);

    我们会收到无法连接元件1和元件2的警告
    我认为 LINK_OK 变量自 GST_ELECTER_LINK_FILTERED 正更新为 false

    可能的原因是什么?

    BR
    Marka Reddy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    能否提供调试日志、capsfilter 函数和链接元素的部分代码。

    BR
    玛格丽塔
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此外、我假设 Capfilter 中可能有一个或多个参数设置不正确。 这就是您观察元件未连接的错误的原因。 您可以重新检查这些参数的类型。
    但是、如果您共享调试日志等(请检查先前的答案)、情况会更好。

    请告诉我。

    BR
    玛格丽塔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    非常感谢您的意见。
    在调试时、我们发现在 gst_element_factory_make 函数中、键入错误而不是"rtpmp2tmdepay"来给出"rtpmp2depay"。 我们更正了代码。 它现在正在工作。
    BR
    Marka Reddy
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我很高兴这个问题得到解决。
    我要关闭此主题。

    BR
    玛格丽塔