Hello Gstreamers,
I am planning to write a new gstreamer parser plugin for parsing a custom byte-stream format. The pipeline should look something like below:- Example A: tcpclientsrc ! my-custom-parser ! h264parse ! fakesink Example B: filesrc ! my-custom-parser ! h264parse ! fakesink The byte-stream has the following format: 4 bytes: size of data segment and timestamp 8 bytes: timestamp N-8 bytes: data segment which is a H.264 NALU My plugin will create one GstBuffer per data segment and set the PTS/DTS based on the timestamp and send it to the downstream plugin (h264parse for example). Some questions:- - Is there a simple parser example plugin which I can start from? - Is vorbisparse a good example to use? Is gstttransform.c in the gst-templates repo a good example to use? - What are the options for push vs pull that are available in my parser? - Is there any documentation about how to write new parsers? Any help is greatly appreciated. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le mercredi 03 février 2021 à 12:57 +0530, Bharath Bhushan (Kowshik) a écrit :
> Hello Gstreamers, > > I am planning to write a new gstreamer parser plugin for parsing a custom > byte-stream format. The pipeline should look something like below:- > Example A: tcpclientsrc ! my-custom-parser ! h264parse ! fakesink > Example B: filesrc ! my-custom-parser ! h264parse ! fakesink > > The byte-stream has the following format: > 4 bytes: size of data segment and timestamp > 8 bytes: timestamp > N-8 bytes: data segment which is a H.264 NALU > > My plugin will create one GstBuffer per data segment and set the PTS/DTS based > on the timestamp and send it to the downstream plugin (h264parse for example). > > Some questions:- > - Is there a simple parser example plugin which I can start from? This is more like a depayloader, but indeed we sometimes call parser or demuxer. Your format seems similar to IVF used to cary parsable VP8 and VP9 data. > - Is vorbisparse a good example to use? Is gstttransform.c in the gst- > templates repo a good example to use? > - What are the options for push vs pull that are available in my parser? > - Is there any documentation about how to write new parsers? > > Any help is greatly appreciated. > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Thanks Nicolas.
- Is there a specific depayloader I can start from? How about gdpdepay.c? Among the myriad rtp depayloaders, anything that I can start from? - Is it enough to make my plugin a simple Element (like gdpdepay.c) or is it better to build on GstBaseParse or GstRawBaseParse?
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |