<div dir="ltr"><div dir="auto">Hello Sebastian,<div dir="auto"><br></div><div dir="auto">thank you for your answer. </div><div dir="auto"><br></div><div dir="auto">Why I wanted to habe timecodes is because webrtcbin is added to a videomixer and has a lot of latency as well as if it is getting visible after the mixer it feels like in slow motion.</div><div dir="auto">As you might guess latency get's bigger and bigger and audio is completely out of syn and around 20-30 sec off. </div><div dir="auto"><br></div><div dir="auto">I already added a latency tracing but nothin obvious is shown there. 🤷‍♂️</div><div dir="auto"><br></div><div dir="auto">So to further investigate this I wanted to see how the latency increases because.... maybe of the framerate? </div><div dir="auto"><br></div><div dir="auto">Anyways it was just a approach because I need to find out why webrtcbin in combination videomixer has such a tremendous latency and is completely off to use as a kind of call-in approach into a live broadcast with webrtc (all in a docker container, btw). </div><div><br>webrtcbin -> decodebin -> queues/converter/videoscale/... -> videomixer/compositor -> ....<br><br><div><img src="cid:ii_kagvfpgs0" alt="Bildschirmfoto 2020-05-21 um 16.27.55.png" width="562" height="60"><br></div><br></div><div dir="auto">Any idea, here would be my pipeline?<br><br>Full -> <a href="https://drive.google.com/file/d/1g7iCNGEIhPwhkEvGFCXW9lyQYXv3keKu/view?usp=sharing">https://drive.google.com/file/d/1g7iCNGEIhPwhkEvGFCXW9lyQYXv3keKu/view?usp=sharing</a><br><br></div><div dir="auto"><br></div><div dir="auto">Regards, Michael</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Sebastian Dröge <<a href="mailto:sebastian@centricular.com" target="_blank">sebastian@centricular.com</a>> schrieb am Sa., 16. Mai 2020, 10:33:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, 2020-05-08 at 20:52 +0200, Michael wrote:<br>
> <br>
> I try to add a `timecodestamper` and a `timeoverlay` after a<br>
> `decodebin`<br>
> <br>
> [...]<br>
> <br>
> which I put after a `webrtcbin`<br>
> <br>
> ** (python3:1527): CRITICAL **: 18:44:43.253:<br>
> gst_video_time_code_add_frames: assertion<br>
> 'gst_video_time_code_is_valid (tc)' failed<br>
> <br>
> Why isn't that possible?<br>
> Or better why doesn't the webrtcbin -> decodebin offer a timestamp?<br>
<br>
The problem is not about timestamps here. Note that timecodes and<br>
timestamps are completely different things, the former acting more like<br>
a "frame label" while the latter are used for actual synchronization.<br>
webrtcbin (and RTP streams in general) provide timestamp information<br>
but not timecodes. There are some RTP extensions for carrying timecodes<br>
over RTP though, if that's something you need, but this is not<br>
standardized for WebRTC. You could make it work between GStreamer<br>
applications, or other custom applications, but web browsers would<br>
simply ignore that.<br>
<br>
For the actual problem here with timecodestamper: RTP streams generally<br>
have no fixed framerate, so you get 0/1 as framerate. Timecodes however<br>
only make sense with a fixed framerate, so the above always gives you<br>
invalid timecodes.<br>
<br>
To solve this you need to use a videorate element before<br>
timecodestamper to enforce a fixed framerate, and after videorate a<br>
capsfilter that specifies the framerate you want to have. Then<br>
timecodestamper gets a fixed framerate stream of a given framerate, and<br>
can properly generate timecodes for that.<br>
<br>
What do you want to use the timecodes for?<br>
<br>
-- <br>
Sebastian Dröge, Centricular Ltd · <a href="https://www.centricular.com" rel="noreferrer noreferrer" target="_blank">https://www.centricular.com</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org" rel="noreferrer" target="_blank">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div>