rendered paste body#!/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)
bus = self.pipeline.get_bus()
bus.add_signal_watch()
bus.connect('message', self.on_message)
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)
queue.set_state(gst.STATE_PAUSED)
sink.set_state(gst.STATE_PAUSED)
def on_message(self, bus, message):
print message
t = message.type
gobject.threads_init()
start=Main()
while (True):
time.sleep(3)