Best way to fix video encoder issues with 0/1 framerate

Thomas Greenwood tcdgreenwood at hotmail.com
Sun Mar 10 16:13:58 PDT 2013


Thanks Nicolas.  I have managed to fix the elements and when I get a minute will post a but with relevant patches.  I ended up doing patches on 0.10 and 1.0 as I needed compatibility with gstreamer-java.  However seeing how much things seem to have improved in 1.0 I may end up either using gstreamer1.0 directly or update gstreamer-java (though this looks like a few weeks of work potentially).  In gstreamer1.0 my patch set the latency to GST_CLOCK_TIME_NONE - in gstreamer0.10 I just guessed as it failed an assert - really didn't make much difference to my scenario.  For VP8 I set timebase to 90000 if there is no framerate (this is the clock-rate noted in the RTP payloading spec).
The pipelines I have seem to work pretty well with the patches I've made -I'm not really too concerned about dynamic latency as if I don't have frames coming in means I can't create any better frames going out.  The pipelines seem to push through frames as quickly as they receive them as far as I can tell from limited testing.  I am not sure what you mean by 'live' I think you mean camera, but I guess the same applies to using RTP streams (videoconferencing and video calling scenarios).  I appreciate the idea of using videorate, but I think that may not really help as I want to just send frames from the encoder out ASAP.
I think I can see your changes on that bug, but I don't understand the effect of the latency on the video encoders.  I may need your patch as well to cover some scenarios when RTP streaming.  Perhaps you could explain your patch and sink recovery mode.
At least I don't seem totally out of the ball park and my patches stop gstreamer crashing.
Thanks
> Date: Thu, 07 Mar 2013 22:04:45 -0500
> From: Nicolas Dufresne <nicolas.dufresne at collabora.co.uk>
> To: Discussion of the development of and with GStreamer
> 	<gstreamer-devel at lists.freedesktop.org>
> Subject: Re: Best way to fix video encoder issues with 0/1 framerate
> Message-ID: <1362711885.5234.5.camel at nicolas-laptop>
> Content-Type: text/plain; charset="utf-8"
> 
> Le lundi 04 mars 2013 ? 14:27 +0000, Thomas Greenwood a ?crit :
> 
> > I currently favour 3 and I'm not sure that I can really do the others,
> > plus it makes this easier and more robust for others without
> > introducing extra elements into the pipeline.  Also I have made the
> > patch to x264enc work, so just need to do the equivalent on vp8enc.
> 
> 
> Note that having dynamic framerate also mean having dynamic latency. I
> have made an attempted [1] to implement dynamic latency in 0.10, but it
> might not be the right way. A forth solution would be to fix a framerate
> using videorate. This will not fix the latency issue as videorate does
> not work in live pipeline, but might work for your usecase. Making
> videorate work in live (timeout based) would also be really nice.
> 
> Nicolas
> 
> [1] https://bugzilla.gnome.org/show_bug.cgi?id=675761
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130307/6821399f/attachment-0001.html>
> 
> ------------------------------
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130310/02faee35/attachment.html>


More information about the gstreamer-devel mailing list