Poor HD performance with appsink

Gordon Nickel gordon.nickel at downstream.com
Thu Feb 13 07:45:10 PST 2014


Thanks for the responses. I'm using callbacks, not signals already. 

Dusan, how are you displaying content in OpenGL? Is there an implementation you would be willing to share?

Gordon Nickel

downstream.com

> On Feb 13, 2014, at 7:39 AM, "Dušan Poizl" <poizl at maindata.sk> wrote:
> 
> I am using appsink for playing video with OpenGL and have no issue. I can easily play two FullHD video fine while capturing output and pushing to appsrc to encode.
> 
> Dňa 13.02.2014 16:14, Aleix Conchillo Flaqué wrote / napísal(a):
>> On Wed, Feb 12, 2014 at 5:40 PM, Gordon Nickel
>> <gordon.nickel at downstream.com> wrote:
>>> Hi,
>>> 
>>> I have an implementation of Gstreamer 1.0 for Windows using appsink to play
>>> videos back. Generally, performance is pretty good, and quality is
>>> excellent. However, with some specific videos (all 1080p, 720p seems to be
>>> fine), the video track can get very far behind the audio, at which time the
>>> audio starts to stutter and eventually cut out. I don't believe it's an
>>> issue with the app itself (which generally gets 90-200 fps with videos
>>> running), but my implementation of Gstreamer. The same videos play without
>>> issue using playbin in gst-launch.
>>> 
>>> I've tried setting drop frames ( gst_app_sink_set_drop to true ) and max
>>> lateness to various values from 1 second to 0.01 seconds. In doing so, the
>>> audio won't cut out, but the video will stutter to an unnacceptable degree
>>> (approx 1 frame per second). I've also tried different bit rates, but have
>>> generally stuck with h.264 for codecs. Mpeg 2 had similar performance
>>> issues.
>>> 
>>> Playing the video through the app but with it's own directdrawsink window
>>> played back smoothly.
>>> 
>>> I can provide the problem videos if that would be helpful.
>>> 
>>> Gstreamer builds 1.0.10, 1.2.0 and 1.2.3 have all been tried with the same
>>> results.
>>> 
>>> Any ideas to improve performance?
>> You might already be doing it, but do you use signals instead of
>> callbacks? If so, use callbacks instead. Much faster.
>> 
>> Aleix
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list