[gst-devel] Video transitions using gnloperation

Lane Brooks lane at brooks.nu
Tue Jan 4 18:01:08 CET 2011


On 01/04/2011 05:39 AM, Edward Hervey wrote:
> On Mon, 2011-01-03 at 23:23 -0700, Lane Brooks wrote:
>> 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)
>
>    Set the [media-]{start|duration} propertie son op also

I had already tried this as well.

         op.set_property("start",          2 * gst.SECOND)
         op.set_property("duration",       3 * gst.SECOND)
         op.set_property("media-start",    0 * gst.SECOND)
         op.set_property("media-duration", 3 * gst.SECOND)

I am not sure what I should put the media-start at, but I have tried 
both 0 and 2 and neither works. Any other ideas?


>
>>           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