#!/usr/bin/python import pygst pygst.require("0.10") import gst, gobject, time import pygtk import gtk class Main: def __init__(self): self.pipeline = gst.Pipeline("mypipeline") self.filesrc = gst.element_factory_make("filesrc", "source") self.pipeline.add(self.filesrc) self.filesrc.set_property("location", "/home/sac/record.ts") self.decode = gst.element_factory_make("ffdemux_mpegts", "decode") self.decode.connect("pad-added", self.OnDynamicPad) self.pipeline.add(self.decode) self.filesrc.link(self.decode) self.pipeline.set_state(gst.STATE_PLAYING) def OnDynamicPad(self, dbin, pad): print "OnDynamicPad Called!" print pad.get_name() sink = gst.element_factory_make("filesink", "sink-"+pad.get_name()) sink.set_property("location","/tmp/output_"+pad.get_name()+".raw") queue = gst.element_factory_make("queue", "queue-"+pad.get_name()) self.pipeline.add(queue) self.pipeline.add(sink) pad.link(queue.get_pad("sink")) queue.link(sink) gobject.threads_init() start=Main() while (True): time.sleep(3)