<div dir="ltr">If I use the filesrc element to playback a video file I can retrieve data like this on a per frame basis:<br><br>    index=0, timestamp=832000000, stream-time=0<br>    index=1, timestamp=870000000, stream-time=38000000<br>    ...<br><br>But what is the first timestamp above relative to? How can I retrieve a real-world start time such that I can combine it with this timestamp in order to calculate the real-world time at which the frame was captured?<br><br>I control the original file capture process as well as the playback but I haven't found how to capture and recover the start time that I need for combining with timestamps in this way.<br><br>Currently, I capture the video file like so:<br><br>    gst-launch-1.0 nvarguscamerasrc \<br>        ! 'video/x-raw(memory:NVMM), width=3280, height=2464, framerate=21/1' \<br>        ! nvjpegenc \<br>        ! matroskamux \<br>        ! filesink location=out.mkv<br><br>I can change the container and video format if this makes it easier to encode and recover the start time later. I can obviously get an _approximate_ start time by recording the time at which the pipeline started - but I'd prefer something more precise (and _if possible_ I'd prefer that the value was encoded somewhere in the resulting video file rather than stored separately).<br><br>I've used GST_DEBUG to see if I could see anything that looked like a start time when replaying the file but didn't spot anything.<br><br>And if I look at the file with a tool like mediainfo the only date I see is:<br><br>    Encoded date : UTC 2019-07-24 19:20:42<br><br>TL;DR - when recording my video file how do I capture and later recover a value that can be combined with a relative timestamp value (like the one for index 0 up above) to give the real world time at which the frame was captured.<br><br>For reference: I retrieved the above timestamp values etc. from the command line like so:<br><br>    $ GST_DEBUG=GST_BUS:5 gst-launch-1.0 filesrc location=out.mkv \<br>        ! matroskademux \ <br>        ! multifilesink post-messages=true location=/dev/null &> gst-bus-debug.log<br><br>    $ sed -n 's/.*gst_bus_source_dispatch.*, \(index=.*\)/\1/p' gst-bus-debug.log<br><div><br></div><div>Regards,</div><div><br></div><div>/George</div></div>