0

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

• 硬件平台(Jetson / GPU) Jetson

• DeepStream 5.0版

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

• TensorRT 7.0版

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

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:

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

4

1 回答 1

0

您只能链接彼此兼容的元素和焊盘。

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

您需要链接nvstreamdemux到一些将原始数据编码为 h264 的元素,nvv4l2h264enc然后再链接nvv4l2h264encrtph264pay.

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

于 2021-01-21T15:11:45.230 回答