timecodestamper - how to

Yair Reshef yair99 at gmail.com
Mon Mar 23 14:38:30 UTC 2020


mybe the issue is with rtpgst discarding the metadata?
the following shows zero timecode

gst-launch-1.0 -m -v udpsrc port=5000 caps="$cps" ! rtpgstdepay ! queue !
timeoverlay time-mode=3 halignment=right ! autovideosink


On Mon, Mar 23, 2020 at 4:28 PM Yair Reshef <yair99 at gmail.com> wrote:

> in launch line for PAY -  source=5 (not 0 as above.)
>
>
> either way,
> with GST_DEBUG=*stamper*:7 on the DEPAY i get weird messages.
>
> <timecodestamper0> received event qos event: 0x7f8ec4003570, time
> 99:99:99.999999999, seq-num 219, GstEventQOS, type=(GstQOSType)underflow,
> proportion=(double)0.99995626099444379, diff=(gint64)594361,
> timestamp=(guint64)71459716703;
> <timecodestamper0> Handling video frame with running time 0:01:12.459720896
> <timecodestamper0> Incremented internal timecode to 00:01:12:00
> <timecodestamper0> *Never saw an upstream timecode*
> <timecodestamper0> Created RTC timecode 16:25:29:00 for 2020-03-23 16:25
> +0200 (436905 us)
> <timecodestamper0> Incremented RTC timecode to 16:25:29:00
> (+0:00:00.000000000 drift)
>
> Got message #220 from element "timecodestamper0" (element):
> timecodestamper, timestamp=(guint64)72459720896,
> stream-time=(guint64)72459720896, running-time=(guint64)72459720896,
> duration=(guint64)1000000000, timecode=(GstVideoTimeCode)00:01:12:00;
>
> On Mon, Mar 23, 2020 at 3:12 PM Yair Reshef <yair99 at gmail.com> wrote:
>
>> i am looking to stamp my frames with SMTP timecode. in order to
>> synchronize multiple streams on server.
>> but i dont get what i expect, depay overwrites the timecode with its
>> own.
>> PAY=       (GstVideoTimeCode)15:09:14:28
>> DEAPY= (GstVideoTimeCode)00:00:05:18
>>
>> it might be an error in the plug or an error in my brain
>>
>>
>> PAY
>> timecodestamper pay is configured to
>> get the timecode from RTC - (source=5, Timecode from real time clock)
>> ALWAYS push timecode - (set=2, Always set timecode and remove upstream
>> timecode)
>> and has post-messages enabled to show it.
>>
>> DEPAY
>> timecodestamper is configured to
>> KEEP timecode -  (set=0. Never set timecodes)
>> and has post-messages enabled to show it.
>>
>>
>> #PAY
>> gst-launch-1.0 -m -v \
>> videotestsrc is-live=true !
>> "video/x-raw,width=720,height=480,framerate=1/1" \
>> ! videoconvert ! clockoverlay ! timecodestamper post-messages=true set=2
>> source=0 \
>> ! queue ! rtpgstpay config-interval=1 ! udpsink port=5000 host=127.0.0.1 \
>>  2>&1 | grep -o -P '(?<=timecode=).*(?=\;)'
>>
>>
>> #DEPAY
>> cps="application/x-rtp, media=(string)application, clock-rate=(int)90000,
>> encoding-name=(string)X-GST,
>> caps=(string)dmlkZW8veC1yYXcsIGZvcm1hdD0oc3RyaW5nKUk0MjAsIHdpZHRoPShpbnQpNzIwLCBoZWlnaHQ9KGludCk0ODAsIGZyYW1lcmF0ZT0oZnJhY3Rpb24pMS8xLCBtdWx0aXZpZXctbW9kZT0oc3RyaW5nKW1vbm8sIHBpeGVsLWFzcGVjdC1yYXRpbz0oZnJhY3Rpb24pMS8xLCBpbnRlcmxhY2UtbW9kZT0oc3RyaW5nKXByb2dyZXNzaXZl\0"
>>
>> gst-launch-1.0 -m -v \
>> udpsrc port=5000 caps="$cps" ! rtpgstdepay \
>> ! timecodestamper post-messages=true set=0 ! videoconvert ! autovideosink
>> \
>> 2>&1 | grep -o -P '(?<=timecode=).*(?=\;)'
>>
>>
>> https://github.com/GStreamer/gst-plugins-bad/blob/master/gst/timecode
>>
>>
>>   "post-messages"       : Post element message containing the current timecode
>>
>>   "set"                 : Choose whether timecodes should be overridden or not
>>                         flags: readable, writable
>>                         Enum "GstTimeCodeStamperSet" Default: 1, "keep"
>>                            (0): never            - Never set timecodes
>>                            (1): keep             - Keep upstream timecodes and only set if no upstream timecode
>>                            (2): always           - Always set timecode and remove upstream timecode
>>
>>   "source"              : Choose from what source the timecode should be taken
>>                         flags: readable, writable
>>                         Enum "GstTimeCodeStamperSource" Default: 0, "internal"
>>                            (0): internal         - Use internal timecode counter, starting at zero or value set by property
>>                            (1): zero             - Always use zero
>>                            (2): last-known       - Count up from the last known upstream timecode or internal if unknown
>>                            (3): last-known-or-zero - Count up from the last known upstream timecode or zero if unknown
>>                            (4): ltc              - Linear timecode from an audio device
>>                            (5): rtc              - Timecode from real time clock
>>
>>
>> btw.
>> im using RTPGSTPAY/DEPAY as i will be working with custom data, down the
>> road
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200323/1d24e336/attachment.htm>


More information about the gstreamer-devel mailing list