This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

1. Improve Video Transformation and Viewer Interaction in Pitivi

http://i.imgur.com/U8kPrmb.png

1.1. Demo

http://youtu.be/vvQX8nM8VzY

1.2. Goal

The primary goal of this project is to create an OpenGL based transformation with user interface for Pitivi, which utilizes the GPU to achieve transformations of the kinds translation, rotation and scale. These transformations need to be calculated correctly to work together.

The transformation needs to be implemented in the GStreamer OpenGL plugins. Furthermore the user interface of this operation needs to be rendered over the video sink, the area where the video is displayed in Pitivi. Drawing an interface like Totem with Clutter causes difficulties, since multiple OpenGL contexts are used for the transformation of the video and the drawing of the user interface.

1.3. Progress

The old plugins performed poorly compared to the initial benchmarks.

ebassi's new graphene library is used for the math, mainly matrix multiplication.

The gltransformation landed upstream in gst-plugins-bad.

I was able to render into a cluttersink with the OpenGL plugins. Results in this video.

Python code examples can be found in my gst-gl-tests repository.

1.3.1. Blog Posts

1.3.3. Videos

1.3.4. Git Repositories

1.4. TODO

Full TODO List


2024-10-23 11:28