How to synchronize buffer timestamp across two gstreamer pipeline(appsink,appsrc, rtspserver)

Nicolas Dufresne nicolas at ndufresne.ca
Sun Jun 26 23:33:14 UTC 2016


Le dimanche 26 juin 2016 à 19:17 -0400, Jake Zhang a écrit :
> This is interesting question now. So after setting the appsrc pad
> offset as the first PTS, appsrc will generate a segment event with
> offset = - pts of first buffer. This is causing an issue if I am
> using mpegtsmux and rtpmp2tpay in rtsp server as mpegts mux is always
> using pipeline running time to re-stamp the output buffer. See the
> 'mpegtsmux_clip_inc_running_time()' in mpegtsmux.c. So my PTS is
> still being re-stamped by RTSP pipeline. Any advice? 

All muxers transform the relative timestamp to running time. Can you
explain what issue you are having ?

> 
> Here is my rtsp server part of launch string:
>   launch_stream << "appsrc is-live=true name=appsrc0 do-
> timestamp=true block=false ! "
>                   << "mpegtsmux name=rtsp_mux0 alignment=7  ! "
>                   << "video/mpegts, systemstream=true, packet-
> size=188 !  rtpmp2tpay perfect-rtptime=false timestamp-offset=0
> name=pay0";


More information about the gstreamer-devel mailing list