Skip to content

Instantly share code, notes, and snippets.

@fourdollars
Created July 3, 2015 11:17
Show Gist options
  • Save fourdollars/95fcab5f3762e3dfe9c3 to your computer and use it in GitHub Desktop.
Save fourdollars/95fcab5f3762e3dfe9c3 to your computer and use it in GitHub Desktop.
A simple fullscreen video player by clutter-gst.
#!/usr/bin/env python3
from gi.repository import Clutter, ClutterGst, Gdk
class VideoPlayer:
def __init__(self, filename):
stage_color = Clutter.Color.new(0, 0, 0, 0)
screen = Gdk.Screen.get_default()
monitor = screen.get_primary_monitor()
scale = screen.get_monitor_scale_factor(monitor)
width = screen.get_width() * scale
height = screen.get_height() * scale
ClutterGst.init()
self.stage = Clutter.Stage.get_default()
self.stage.set_color(stage_color)
self.stage.set_size(width, height)
self.vtexture = ClutterGst.VideoTexture()
self.vtexture.connect("eos", self.on_eos)
self.vtexture.set_filename(filename)
self.vtexture.set_size(width, height)
self.stage.add_actor(self.vtexture)
self.stage.hide_cursor()
self.vtexture.set_playing(True)
self.stage.show();
self.stage.set_fullscreen(True)
def on_eos(self, media):
Clutter.main_quit()
if __name__ == "__main__":
Clutter.init()
app = VideoPlayer("/usr/share/example-content/Ubuntu_Free_Culture_Showcase/How fast.ogg")
Clutter.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment