VPF, PyFFmpegDemuxer or built-in demuxer, and why?

any tips/advice for when to use either of these two demuxers?

i ran samples/SampleDecode.py in both STANDALONE and BUILTIN mode, and both of them worked well.

it seems that the demuxer extracts the info, like width, height, format, etc, from the input source, and both of those two demuxers are able to do this task. and why two demuxers? and which one should i use?

Hello @allenling3 and welcome to the NVIDIA developer forums.

I saw you also posted in the Discussions on github, good idea. I can try to reach the internal contributors to that repo to answer your question, but I can’t promise how fast that will be.

But as far as I understand it using the standalone mode gives you more control over the actual video parsing and demuxing process. In this case it uses fmpeg functionality to get video packets, which means you can apply any configuration options to ffmpeg if you would want to do some pre-processing.

Whereas the built-in demuxer/parser (of the Video Codec SDK) cannot be configured and might not be as optimized as the ffmpeg one.

Maybe this helps already.

Thanks!

thank you very much!

the built-in demuxer/parser (of the Video Codec SDK) cannot be configured and might not be as optimized as the ffmpeg one

i think this one is what i wanted.

i thought the built-in demuxer is way more powerful than the ffmpeg demuxer, since the name built-in may imply

some kind of hardware advanced Nvidia parser.

No, the video parser is SW only.

Thanks!