Typefind block - lost frames detected

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Typefind block - lost frames detected

Hoel Vasseur
Hi everybody,

I am struggling for days on this. I have a an application in which I received a stream for UDP thanks to udpsrc. Streams received can have different codecs (RAW, J2K, MPEG4). I am decoding it if necessary. This pipeline is sink into an appsink element. So it looks like :

udpsrc ! rtpdepayloader [rtpvrawdepay, rtpj2kdepay or rtpmp4vdepay] !  (decoder) ! appsink

On a different pipeline I retrieve this first stream through the appsrc element. There I would be able to encode it to a different format and sink to to another IP address thanks to udpsink. So it would look something like:

appsrc ! encoder ! rtppayloader ! udpsrc

But would like to perform a typefind after the encoder:

appsrc ! encoder ! typefind ! rtppayloader ! udpsrc

The elements appsink and appsrc are synchronize over time: each time a sample arrived on appsink it is push to appsrc using a call back.

So that I can choose the right payloader. However, the application blocked on the execution of the typefind, and I checked the logs and saw that there a problem with keyframes lost (obtained with GSt_DEBUG=3):

WARN v4l2src gstv4l2src.c:829:gst_v4l2src_create:<v4l2src0> lost frames detected: count = 10 - ts: 0:00:00.948148955

So I tried to add queue before and after encoders, but it does not work.  

Does any one have an idea on how I could not to lost keyframes?

cheers,

Hoël
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Typefind block - lost frames detected

Nicolas Dufresne-4
Le jeudi 14 avril 2016 à 18:24 +0200, Hoel Vasseur a écrit :
> WARN v4l2src gstv4l2src.c:829:gst_v4l2src_create:<v4l2src0> lost
> frames detected: count = 10 - ts: 0:00:00.948148955
>
> So I tried to add queue before and after encoders, but it does not
> work.  
>
> Does any one have an idea on how I could not to lost keyframes?

This warning means that the driver dropped a frame (you application is
not reading fast enough). It does not mean this frame was a keyframe.
Note that a control was added since 4.6 to be able to request a new
keyframe, it's usually not implement. You can control the keyframe
distance though.

Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Typefind block - lost frames detected

Hoel Vasseur
Thanks for your reply Nicolas,

Yes I am sorry I said "keyframes", when I meant frames. I am aware the there is a problem with the speed of reading. I assumed it happens around parts of my pipeline that require a lot of CPU (like encoding and decoding). So I was hoping that I could put an element in my pipeline to stores buffers like a queue but it does not work. It there any way to do that?

Hoel

----- Mail original -----
> De: "Nicolas Dufresne" <[hidden email]>
> À: "gstreamer-devel" <[hidden email]>
> Envoyé: Jeudi 14 Avril 2016 21:11:11
> Objet: Re: Typefind block - lost frames detected

> Le jeudi 14 avril 2016 à 18:24 +0200, Hoel Vasseur a écrit :
>> WARN v4l2src gstv4l2src.c:829:gst_v4l2src_create:<v4l2src0> lost
>> frames detected: count = 10 - ts: 0:00:00.948148955
>>
>> So I tried to add queue before and after encoders, but it does not
>> work.
>>
>> Does any one have an idea on how I could not to lost keyframes?
>
> This warning means that the driver dropped a frame (you application is
> not reading fast enough). It does not mean this frame was a keyframe.
> Note that a control was added since 4.6 to be able to request a new
> keyframe, it's usually not implement. You can control the keyframe
> distance though.
>
> Nicolas
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel