#!/usr/bin/env python
-# This is a reworked version of the example from Jono Bacon's Python+Gstreamer
-# primer: http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
+# This is a reworked version gstreamer example 1 from Jono Bacon's Python and
+# Gstreamer primer:
+# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python
#
# It uses Gstreamer 1.0, and replaces alsa with pulse for audio output, and
# drops the use of the GTK main loop, since we're not bothered with a GUI
# Info on porting python scripts to Gstreamer 1.0 can be found here:
# https://wiki.ubuntu.com/Novacut/GStreamer1.0
-import gi, time
+import gi, time, signal
gi.require_version('Gst', '1.0')
from gi.repository import Gst
# Set the pipeline to the playing state
self.pipeline.set_state(Gst.State.PLAYING)
-# Create the pipelie and enter main loop, quit with ctrl+c
-start = Main()
+ # We want a graceful shutdown on CTRL+C
+ def quit(signal, frame):
+ print("stopping")
+ exit(0)
+
+ # Trap SIGINT
+ signal.signal(signal.SIGINT, quit)
+
+# Create the pipeline and enter main loop, quit with ctrl+c
+
+Main()
while True:
time.sleep(0.001)
# Let's see if we can get a viewport AND audio working, combining ex. 2 and 3
# GdkX11 to get access to xid, GstVideo to get access to set_window_handle
-import gi
+import gi, signal
gi.require_version('Gtk', '3.0')
gi.require_version('Gst', '1.0')
gi.require_version('GstVideo', '1.0')
from gi.repository import Gtk, Gst, GdkX11, GstVideo
-import signal
class Main:
def __init__(self):
#!/usr/bin/env python
-# This is a reworked version of the example from Jono Bacon's Python+Gstreamer primer:
-# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
-#
+# This is a reworked version gstreamer example 2 from Jono Bacon's Python and
+# Gstreamer primer:
+# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python
+#
# It uses Gstreamer 1.0, GTK3, and replaces alsa with pulse for audio output
# Info on porting python scripts to GStreamer 1.0 can be found here:
# https://wiki.ubuntu.com/Novacut/GStreamer1.0
-import gi
+import gi, signal
gi.require_version('Gtk', '3.0')
gi.require_version('Gst', '1.0')
from gi.repository import Gtk, Gst
-import signal
class Main:
def __init__(self):
# http://bazaar.launchpad.net/~jderose/+junk/gst-examples/view/head:/video-player-1.0
# GdkX11 to get access to xid, GstVideo to get access to set_window_handle
-import gi
+import gi, signal
gi.require_version('Gtk', '3.0')
gi.require_version('Gst', '1.0')
gi.require_version('GstVideo', '1.0')
from gi.repository import Gtk, Gst, GdkX11, GstVideo
-import signal
class Main:
def __init__(self):