Need to send timestamp metadata with H264 buffers across shmsink -> shmsrc

Crane, Matthew matthew.crane at carrier.com
Thu Jan 23 21:41:06 UTC 2020


We have a need to send buffers of H264 video data between two different processes using GStreamer 1.16.0.

Process 1 is receiving H264 RTP packets and depayloading via Live555, doing some parsing of the H264, and writing the H264 data to disk. In parallel, the H264 frames received via Live555 are pushed to a GStreamer appsrc pipeline with a shmsink that sends the frames to Process 2.

Process 2 receives the frames via shmsrc and does some analytics that need to be run in a different process (we need process isolation between the disk writing and the analytics). However, we need to preserve identical timestamp information for buffers in both processes. The pipeline in Process 2 looks like: shmsrc ! h264parse ! queue ! avdec_h264 ! videoconvert ! videoscale ! appsink (where it gets shipped to the video analytics and we would need access to the timestamp data).

The shmsrc/shmsink elements don't appear to preserve buffer timestamps across the shared memory interface. Is it possible to use GstMeta for this timestamp metadata across the shm interface? I'd like to know if this is possible before trying to implement the GstMeta solution.

Any help is appreciated...

-Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200123/5840a276/attachment-0001.htm>


More information about the gstreamer-devel mailing list