How to transmit 2 different camera images at the same time

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
[*] DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System
[*] Linux

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
[*] other

SDK Manager Version
[*] other

Host Machine Version
[*] native Ubuntu 18.04

Hi Nvidia,

I am working on the nvstream samples, now I want to transmit the 2 different camera
images at the same time via the nvscistream channel.
As we know, the different camera have different sync and buf attributes, but in the multicast sample,
it only send 1 sync attribute to the opposite endpoint at the beginning, hence I can only transmit 1 type image by this channel,
am I right?

so how can I send 2 types camera data via the nvscistream_0 at the same time ?


Dear @user110377,
Are you asking you want to transfer two different camera data using a single nvscistream?


Yes, But I can’t find a good solution for now. may something I still not understand.

Dear @user110377,
Each camera will have seperate producer and One NvScistream can not have two producers.


Thanks for your reply.

So if I have two cameras(front and rear), and two consumers, then I need to setup two producers and also four nvscistreams for these two consumers.

nvscistream_1 and nvscistream_3 for producer 1
nvscistream_5 and nvscistream_7 for producer 2

Am I right?

Dear @user110377,
May I know your use case? Do each camera has to send data to 2 consumers or just its corresponding consumer?


I want to know both of them, could you please explain how to implement those two use cases you mentioned?


Dear @user110377,
For one consumer for each producer, please check

For multiple consumers for each producer, please check


Thanks for your reply, actually I already read and finished the exercise in the link you give.
Let me make a short.

I have two cameras, and I want to multicast them to two different consumers, so I need to create two producers and bind them to the corresponding endpoints.
Each consumer who want to receive the two producers, it should bind itself to two endpoint at the same time.

For example.
producer1 → nvscistream_0 nvscistream_2,
producer2 → nvscistream_4 nvscistream_6,

consumer ← nvscistream_1 to receive the producer1
consumer ← nvscistream_5 to receive the producer2

if I want to use more endpoint, I need to modify the configuration file in /etc/

Am I right?



I think this is very inefficient, if I have ten cameras and distribute to four consumers, then I will consume forty streams.

Dear @user110377,
The entries in nvsciipc.cfg tells just IPC endpoint names and not the NvStreams.
The producer can use two IPC endpoints( like nvscistream_0 nvscistream_2) similar to NvSciStream multi cast sample. The two consumer processes can use its corresponding IPC endpoints(nvscistream_1 and nvscistream_3) from nvsciipc.cfg
You need to use multicast block for each camera. In the upstream end one camera producer block is connected and in downstream end every consumer is connected separately to multicast block.

Hi, thanks,

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