Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) RTX 2080Ti • DeepStream Version 6.0.0 • JetPack Version (valid for Jetson only) • TensorRT Version • NVIDIA GPU Driver Version (valid for GPU only) • Issue Type( questions, new requirements, bugs) question
I’m aware that DeepStream provides useful samples, such as runtime_source_add_delete for adding or removing videos from the pipeline, and deepstream-appsrc-test for feeding a single video into the pipeline. My goal is to combine these two so that videos are fed consecutively, one after another, once each video finishes. I’ve tested multiple scenarios, but none of them work. For instance, I tried recreating the appsrc and streammux plugins, but it didn’t solve the issue. How can I achieve this without restarting the pipeline?
You can try to call the gst_app_src_end_of_stream at the right time. For example, call the gst_app_src_end_of_stream after all the videos have finished feeding the data.
The appsrc example includes a call to the gst_app_src_end_of_stream function. I check for the end of the stream after reaching this function and then attempt to load another video, but I can’t.
You can try to implement this logic yourself. For example, you can add all the videos to a list and send the end_of_stream message when all the videos in the list are finished.
I stated that my goal is to feed videos consecutively, one after another, as each video finishes. However, you suggested adding all the videos to a list and sending the end_of_stream message only after all videos in the list are finished. These are two different approaches.
You need to implement this logic yourself feed videos consecutively, one after another, as each video finishes. The key is to trigger the end_of_stream message in the last video so that the pipeline does not exit.