[gst-devel] Video transitions using gnloperation

Lane Brooks lane at brooks.nu
Tue Jan 4 07:23:46 CET 2011


I have a gnlcomposition containing two video sources. I would like to 
apply a smpte transition from one source to the next.

I have tried overlapping the two gnlsources by 3 seconds. I then put a 
'smpte' element in a 'gnloperation' and add the 'gnloperation' to the 
'gnlcompostion'. The addition of the gnloperation doesn't seem to do 
anything. The resulting video is the same regardless of whether I add 
the gnloperation or not. The result is always that the second video 
takes over during the period of overlap. Here is code I have (in python):

         comp = gst.element_factory_make("gnlcomposition")
         src1 = gst.element_factory_make("gnlfilesource")
         src2 = gst.element_factory_make("gnlfilesource")

         comp.add(src1)
         src1.set_property("location", "/test1.mp4")
         src1.set_property("start",          0 * gst.SECOND)
         src1.set_property("duration",       5 * gst.SECOND)
         src1.set_property("media-start",    0 * gst.SECOND)
         src1.set_property("media-duration", 5 * gst.SECOND)

         comp.add(src2)
         src2.set_property("location", "/test2.mp4")
         src2.set_property("start",          2 * gst.SECOND)
         src2.set_property("duration",       5 * gst.SECOND)
         src2.set_property("media-start",    0 * gst.SECOND)
         src2.set_property("media-duration", 5 * gst.SECOND)

         op = gst.element_factory_make("gnloperation")
         tran = gst.element_factory_make("smpte")
         tran.set_property("type", 234)
         tran.set_property("duration", 3 * gst.SECOND)
         op.add(tran)
         comp.add(op)

Anyone know if using an smpte transition is possible, and if so, what I 
am doing wrong?

Thanks,
Lane






More information about the gstreamer-devel mailing list