Nvmsgconv sensor ID assignment

I’m confused about the nvmsgconv sensor ID assignment. I have the following pipeline:

gst-launch-1.0 \
  tcpclientsrc ... \
  ! tsparse \
  ! tee name=programs \
  programs. \
    ! queue \
    ! tsdemux program-number=1 \
    ! decodebin \
    ! nvvideoconvert nvbuf-memory-type=${NVBUF_MEMORY_TYPE} \
    ! capsfilter caps="video/x-raw(memory:NVMM),format=RGBA" \
    ! mx.sink_0 \
  programs. \
    ! queue \
    ! tsdemux program-number=2 \
    ! decodebin \
    ! nvvideoconvert nvbuf-memory-type=${NVBUF_MEMORY_TYPE} \
    ! capsfilter caps="video/x-raw(memory:NVMM),format=RGBA" \
    ! mx.sink_1 \
  nvstreammux \
    nvbuf-memory-type=${NVBUF_MEMORY_TYPE} \
    name=mx \
    width=1920 \
    height=1080 \
    batch-size=1 \
    batched-push-timeout=40000 \
    attach-sys-ts=1 \
    live-source=0 \
  ! tee name=t \
  t. \
    ! queue \
    ! nvmsgconv \
      config=... \
      payload-type=1 \
      msg2p-newapi=true \
      frame-interval=1

The input for the tcpclientsrc is an MPEG-TS stream containing two programs, 1 and 2. I expect the messages originated from the program 1 data to have sensor ID 0 because the program 1 is being sunk to mx.sink_0. But it doesn’t happen; instead, nvmsgconv assigns sensor ID 0 to the messages from the program 2, and sensor ID 1 to the messages from the program 1.

How can I configure an nvmsgconv or nvstreammux to do the opposite? How can I override the sensor ID assignment? Is there a way to assign a sensor ID to a specific nvstreammux sink?

• Hardware Platform (Jetson / GPU)
GPU
• DeepStream Version
6.3
• Issue Type( questions, new requirements, bugs)
Questions

There is no update from you for a period, assuming this is not an issue any more. Hence we are closing this topic. If need further support, please open a new one. Thanks.
nvmsgconv plugin and low level are opensource. nvds_msg2p_parse_sensor is used to parse sensor cfg. sensor id and information will be added to unordered_map<int, NvDsSensorObject> sensorObj; in this function. sensor id also represents frame sourceid.
for example, auto idMap = privObj->sensorObj.find(frame_meta->source_id);
you can modify [sensor0] in msgconv_config.txt.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.