Syncing two streams

Andrew Silby asilby at yahoo.com
Fri Jun 8 00:50:50 UTC 2018


So I've looked into this further and I think there's maybe a bug in x264enc.

If I run
gst-launch-1.0 videotestsrc is-live=true do-timestamp=true num-buffers=1 !
video/x-raw ! identity silent=false name=first ! x264enc ! video/x-h264 !
identity name=second silent=false !  fakesink -v

then the dts and pts are changed and reset by the x264enc. I don't think
this is correct as I would have thought that the pts should stay the same.

The output of identity "first" is:
******* (first:sink) (115200 bytes, dts: 0:00:00.011741158, pts:
0:00:00.005870579, duration: 0:00:00.033333333

The output of identity "second" which is post x264enc is:
******* (second:sink) (5795 bytes, dts: 1000:00:00.000000000, pts:
1000:00:00.000000000, duration: 0:00:00.033333333

I've looked at other encoders and they keep the pts as you would expect.

This would explain why the streams don't sync correctly. Can anyone explain
the behaviour? 

Thanks very much.
Andy



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list