fix 64px timelines
This commit is contained in:
parent
095da90eec
commit
83db829cf8
3 changed files with 40 additions and 16 deletions
|
|
@ -17,7 +17,7 @@ from imagesink import ImageSink
|
|||
|
||||
class Video(gst.Pipeline):
|
||||
|
||||
def __init__(self, uri):
|
||||
def __init__(self, uri, framerate='25/1'):
|
||||
gst.Pipeline.__init__(self)
|
||||
self.duration = -1
|
||||
# queue of timestamps
|
||||
|
|
@ -37,10 +37,16 @@ class Video(gst.Pipeline):
|
|||
self.sbin = SingleDecodeBin(caps=gst.Caps("video/x-raw-rgb;video/x-raw-yuv"),
|
||||
uri=self.uri)
|
||||
self.csp = gst.element_factory_make("ffmpegcolorspace")
|
||||
self.rate = gst.element_factory_make("videorate")
|
||||
self.queue = gst.element_factory_make("queue")
|
||||
|
||||
self.sink = ImageSink()
|
||||
self.sink.connect('frame', self._frameCb)
|
||||
|
||||
self.add(self.sbin, self.csp, self.sink)
|
||||
self.add(self.sbin, self.csp, self.queue, self.rate, self.sink)
|
||||
|
||||
self.queue.link(self.rate)
|
||||
self.rate.link(self.csp, gst.Caps("video/x-raw-yuv,framerate=%s"%framerate))
|
||||
self.csp.link(self.sink)
|
||||
|
||||
self.sbin.connect('pad-added', self._sbinPadAddedCb)
|
||||
|
|
@ -54,7 +60,7 @@ class Video(gst.Pipeline):
|
|||
|
||||
def _sbinPadAddedCb(self, unused_sbin, pad):
|
||||
self.log("pad : %s" % pad)
|
||||
pad.link(self.csp.get_pad("sink"))
|
||||
pad.link(self.queue.get_pad("sink"))
|
||||
|
||||
def _frameCb(self, unused_thsink, frame, timestamp):
|
||||
self.log("image:%s, timestamp:%s" % (frame, gst.TIME_ARGS(timestamp)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue