Dropped frames while playing from a network source

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

Dropped frames while playing from a network source

Ramakrishnan Muthukrishnan-3
Hi,

I am trying to stream an H.264 stream encapsulated by MPEG2-TS and RTP
(RFC 2250) over UDP. The recieve pipeline looks like this:

 udpsrc port=xxxx ! rtpmp2tdepay ! flutsdemux ! ffdec_h264 ! xvimagesink

Now, even if every frame is an I-frame in the stream, some element in
the pipeline drops the frame and I get decoded frames displayed only
once in afew frames, with no indication on what is happening even with
GST_DEBUG=3.

While querying the latency, I see that one or more of the elements in
the pipeline (I am yet to find out who) does not have the latency
query implemented, which would mean (I assume) the latency
calculations won't be done for the entire pipeline. Is this
understanding correct? Instead of xvimagesink, if I use a filesink, I
get all the decoded frames.

It will be great if someone can help understand what is happening.

best regards
--
 Ramakrishnan

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Dropped frames while playing from a network source

ved kpl
Hi,

Try  setting sync=FALSE for xvimagesink

Cheers
Vikram

On Sun, Aug 17, 2008 at 6:15 PM, Ramakrishnan Muthukrishnan
<[hidden email]> wrote:

> Hi,
>
> I am trying to stream an H.264 stream encapsulated by MPEG2-TS and RTP
> (RFC 2250) over UDP. The recieve pipeline looks like this:
>
>  udpsrc port=xxxx ! rtpmp2tdepay ! flutsdemux ! ffdec_h264 ! xvimagesink
>
> Now, even if every frame is an I-frame in the stream, some element in
> the pipeline drops the frame and I get decoded frames displayed only
> once in afew frames, with no indication on what is happening even with
> GST_DEBUG=3.
>
> While querying the latency, I see that one or more of the elements in
> the pipeline (I am yet to find out who) does not have the latency
> query implemented, which would mean (I assume) the latency
> calculations won't be done for the entire pipeline. Is this
> understanding correct? Instead of xvimagesink, if I use a filesink, I
> get all the decoded frames.
>
> It will be great if someone can help understand what is happening.
>
> best regards
> --
>  Ramakrishnan
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Dropped frames while playing from a network source

Ramakrishnan Muthukrishnan-3
Yes, having tried it before, it seems to me as a workaround than a solution.

It seems like, latency compensation is not taken care of in one of the
modules. Ideally, the sink timing requirementsshoukd propagate up thru
the pipeline to all the other elements in the pipeline, but seems like
it is not happening.

Any help in debugging this issue will be greatly appreciated.

regards
ramakrishnan

On Mon, Aug 18, 2008 at 12:45 PM, ved kpl <[hidden email]> wrote:

> Hi,
>
> Try  setting sync=FALSE for xvimagesink
>
> Cheers
> Vikram
>
> On Sun, Aug 17, 2008 at 6:15 PM, Ramakrishnan Muthukrishnan
> <[hidden email]> wrote:
>> Hi,
>>
>> I am trying to stream an H.264 stream encapsulated by MPEG2-TS and RTP
>> (RFC 2250) over UDP. The recieve pipeline looks like this:
>>
>>  udpsrc port=xxxx ! rtpmp2tdepay ! flutsdemux ! ffdec_h264 ! xvimagesink
>>
>> Now, even if every frame is an I-frame in the stream, some element in
>> the pipeline drops the frame and I get decoded frames displayed only
>> once in afew frames, with no indication on what is happening even with
>> GST_DEBUG=3.
>>
>> While querying the latency, I see that one or more of the elements in
>> the pipeline (I am yet to find out who) does not have the latency
>> query implemented, which would mean (I assume) the latency
>> calculations won't be done for the entire pipeline. Is this
>> understanding correct? Instead of xvimagesink, if I use a filesink, I
>> get all the decoded frames.
>>
>> It will be great if someone can help understand what is happening.
>>
>> best regards
>> --
>>  Ramakrishnan
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
 Ramakrishnan

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Dropped frames while playing from a network source

Florent THIERY-2
Hi

It seems like, latency compensation is not taken care of in one of the
modules. Ideally, the sink timing requirementsshoukd propagate up thru
the pipeline to all the other elements in the pipeline, but seems like
it is not happening.

Any help in debugging this issue will be greatly appreciated.

Try buffering using rtpjitterbuffer

FLo


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Dropped frames while playing from a network source

Edward Hervey
Administrator
In reply to this post by Ramakrishnan Muthukrishnan-3
Hi,

  Put a queue before your xvimagesink and an rtpjitterbuffer between
your udpsrc and depayloader.

    Edward

On Sun, 2008-08-17 at 18:15 +0530, Ramakrishnan Muthukrishnan wrote:

> Hi,
>
> I am trying to stream an H.264 stream encapsulated by MPEG2-TS and RTP
> (RFC 2250) over UDP. The recieve pipeline looks like this:
>
>  udpsrc port=xxxx ! rtpmp2tdepay ! flutsdemux ! ffdec_h264 ! xvimagesink
>
> Now, even if every frame is an I-frame in the stream, some element in
> the pipeline drops the frame and I get decoded frames displayed only
> once in afew frames, with no indication on what is happening even with
> GST_DEBUG=3.
>
> While querying the latency, I see that one or more of the elements in
> the pipeline (I am yet to find out who) does not have the latency
> query implemented, which would mean (I assume) the latency
> calculations won't be done for the entire pipeline. Is this
> understanding correct? Instead of xvimagesink, if I use a filesink, I
> get all the decoded frames.
>
> It will be great if someone can help understand what is happening.
>
> best regards
> --
>  Ramakrishnan
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel