timecodestamper after webrtcbin -> decodebin failed ?
Michael
michael.riha+gstreamerMailingList at gmail.com
Thu May 21 14:29:36 UTC 2020
Hello Sebastian,
thank you for your answer.
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.
As you might guess latency get's bigger and bigger and audio is completely
out of syn and around 20-30 sec off.
I already added a latency tracing but nothin obvious is shown there. 🤷♂️
So to further investigate this I wanted to see how the latency increases
because.... maybe of the framerate?
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).
webrtcbin -> decodebin -> queues/converter/videoscale/... ->
videomixer/compositor -> ....
[image: Bildschirmfoto 2020-05-21 um 16.27.55.png]
Any idea, here would be my pipeline?
Full ->
https://drive.google.com/file/d/1g7iCNGEIhPwhkEvGFCXW9lyQYXv3keKu/view?usp=sharing
Regards, Michael
Sebastian Dröge <sebastian at centricular.com> schrieb am Sa., 16. Mai 2020,
10:33:
> On Fri, 2020-05-08 at 20:52 +0200, Michael wrote:
> >
> > I try to add a `timecodestamper` and a `timeoverlay` after a
> > `decodebin`
> >
> > [...]
> >
> > which I put after a `webrtcbin`
> >
> > ** (python3:1527): CRITICAL **: 18:44:43.253:
> > gst_video_time_code_add_frames: assertion
> > 'gst_video_time_code_is_valid (tc)' failed
> >
> > Why isn't that possible?
> > Or better why doesn't the webrtcbin -> decodebin offer a timestamp?
>
> The problem is not about timestamps here. Note that timecodes and
> timestamps are completely different things, the former acting more like
> a "frame label" while the latter are used for actual synchronization.
> webrtcbin (and RTP streams in general) provide timestamp information
> but not timecodes. There are some RTP extensions for carrying timecodes
> over RTP though, if that's something you need, but this is not
> standardized for WebRTC. You could make it work between GStreamer
> applications, or other custom applications, but web browsers would
> simply ignore that.
>
> For the actual problem here with timecodestamper: RTP streams generally
> have no fixed framerate, so you get 0/1 as framerate. Timecodes however
> only make sense with a fixed framerate, so the above always gives you
> invalid timecodes.
>
> To solve this you need to use a videorate element before
> timecodestamper to enforce a fixed framerate, and after videorate a
> capsfilter that specifies the framerate you want to have. Then
> timecodestamper gets a fixed framerate stream of a given framerate, and
> can properly generate timecodes for that.
>
> What do you want to use the timecodes for?
>
> --
> Sebastian Dröge, Centricular Ltd · https://www.centricular.com
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200521/25723398/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Bildschirmfoto 2020-05-21 um 16.27.55.png
Type: image/png
Size: 174102 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20200521/25723398/attachment-0001.png>
More information about the gstreamer-devel
mailing list