How to separate nvdewarper with 4 surfers to become 4 separate streams

No, the nvstreamdemux can not demux the multiple surfaces.

Please try the following pipeline:
gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_office.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nvvideoconvert ! tee name=t t.src_0 ! queue ! nvdewarper config-file=config_dewarper_test0.txt source-id=1 ! m.sink_0 nvstreammux name=m width=3800 height=2900 batch-size=4 num-surfaces-per-frame=1 ! nvstreamdemux name=demux demux.src_0 ! queue ! nvvideoconvert ! 'video/x-raw,width=1900,height=1450' ! x264enc ! mp4mux ! filesink location=output0.mp4 demux.src_1 ! queue ! nvvideoconvert ! 'video/x-raw,width=1900,height=1450' ! x264enc ! mp4mux ! filesink location=output1.mp4 demux.src_2 ! queue ! nvvideoconvert ! 'video/x-raw,width=1900,height=1450' ! x264enc ! mp4mux ! filesink location=output2.mp4 demux.src_3 ! queue ! nvvideoconvert ! 'video/x-raw,width=1900,height=1450' ! x264enc ! mp4mux ! filesink location=output3.mp4 t.src_1 ! queue ! nvdewarper config-file=config_dewarper_test1.txt source-id=2 ! m.sink_1 t.src_2 ! queue ! nvdewarper config-file=config_dewarper_test2.txt source-id=3 ! m.sink_2 t.src_3 ! queue ! nvdewarper config-file=config_dewarper_test3.txt source-id=4 ! m.sink_3

config_dewarper_test0.txt (181 Bytes)
config_dewarper_test1.txt (178 Bytes)
config_dewarper_test2.txt (182 Bytes)
config_dewarper_test3.txt (180 Bytes)

1 Like