微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 PyGObject

如何解决无法使用 PyGObject

请提供适用于您的设置的完整信息。

• 硬件平台(Jetson / GPU) Jetson

• DeepStream 版本 5.0

• JetPack 版本(仅对 Jetson 有效) 4.4

• TensorRT 版本 7.0

• NVIDIA GPU 驱动程序版本(仅适用于 GPU) • 问题类型(问题、新要求、错误 问题 • 如何重现该问题? (这是针对bug的,包括使用的示例应用程序,配置文件内容,使用的命令行以及其他重现的详细信息)

print("Linking demux to the rtppayload in the Pipeline \n")
    for i in range(number_of_sources):
       demux_srcpad = streamdemux.get_request_pad("src_%u"%i)
       if not demux_srcpad:
           sys.stderr.write("Unable to get the src pad of streamdemux \n")
       sinkpad = rtppayload_list[i].get_static_pad("sink")
       if not sinkpad:
           sys.stderr.write(" Unable to get sink pad of rtppayload \n")
       demux_srcpad.link(sinkpad)

• 需求详情(这是新的需求。包括模块名称-哪个插件或哪个示例应用程序,功能描述

我正在尝试在运行时为 nvstreamdemux 元素创建源代码垫,并链接到位于列表中的几个 rtph264pay 元素:rtppayload_list。上面给出的代码导致以下错误: gi.overrides.Gst.LinkError:

任何帮助将不胜感激。谢谢!

解决方法

只能链接相互兼容的元素和焊盘。

在您的情况下,nvstreamdemux 在其源焊盘上以 NV12 或 RGBA 格式输出原始数据,而 rtph264pay 在其输入接收器焊盘上采用 h264 编码流。所以这两者是不相容的。

您需要将 nvstreamdemux 链接到一些将原始数据编码为 h264 的元素,例如 nvv4l2h264enc,然后依次将 nvv4l2h264enc 链接到 rtph264pay

所以你的管道应该看起来像 nvstreamdemux->nvv4l2h264enc->rtph264pay

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。