Gstreamer example on how to use multifilesrc for playing mp4 files

Dear experts,

I am trying to find how I can setup the gstreamer pipeline to play multiple mp4 files using C++ on a Jetson Nano. But so far I have found none. Can anyone please shed some lights? Thanks in advance.

P.S: I am using deepstream 5.0 and could use uridecodebin to play a single mp4 file. but now my target is to play multiple mp4 files so that the files are played one after another automatically

Hi,
There is no existing sample for this. You need to customize deepstream-test1 or deepstream-test2, to decode video files like:

multifilesrc ! qtdemux ! h264parse ! nvv4l2decoder ! nvstreammux ! ...

And it seems like only ts files work with multifilesrc. You may need to re-mux mp4 to ts and try.

Thanks for the reply. Its kind of disappointing that there is no suitable source natively to do that, remuxing mp4 to ts sounds like a long shot and I am not sure how well that would work particularly in my application. Is there any other way or workaround to achieve my objective? Basically my objective is to play multiple mp4 files. I do not need the stream to be continuous. It may have a small gap in between, but my main objective is to specify all the files I want to play to a source and the source would play them one after another, that’s it.

Hi,
This would need native gstreamer plugins. We develop plugins for hardware encoding and decoding. For software functions, we rely on native gstreamer plugins for feeding h264 stream to decoder, or YUV data to encoder. We have tried some pipelines and it looks like only ts works. Probably we don’t have enough experience on this use-case. Suggest go to gstreamer forum and see if other users can share guidance on it. Once you get a working pipeline with software decoder, it should work fine by replacing with hardware decoder.

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