How to sync up frames from two filesrc

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

How to sync up frames from two filesrc

I have a pipeline feeding two file sources and mux them using nvstreammux to
pipe into nvinfer then to a stereo plugin as below:

    filesrc location= left.h264 ! h264parse ! nvv4l2decoder name=c102
    filesrc location= right.h264 ! h264parse ! nvv4l2decoder name=c104
    c102. ! nvvideoconvert nvbuf-memory-type=3 ! m.sink_0 nvstreammux name=m
batch-size=1 width=1920 height=1080
    c104. ! nvvideoconvert nvbuf-memory-type=3 ! m.sink_1
    m. ! nvinfer config-file-path= dstest1_pgie_config.txt ! nvvideoconvert
    stereo ! nvmultistreamtiler width=2560 height=720 ! nvdsosd !
nveglglessink sync=True

The problem of the above pipeline is there is no guarantee the frame 1 of
left.h264 will follow the frame 1 of right.h264 (or vice versa) for stereo
plugin. Some times the left.h264 ahead of right.h264 by 4 frames. And some
times ahead of 3 frames. There is almost never in sync even I add sync=True
at the end of the pipeline.

Question: is there a way to guarantee the left.h264 and right.h264 in sync
in a pipeline? that is either left.h264 ahead by only 1 frame of right.h264
or vice versa. How? Please advise. Thanks a lot for your help.

Sent from:
gstreamer-devel mailing list
[hidden email]