Рисование пикселей поверх Gstreamer

Я пытаюсь создать приложение на Python, которое может рисовать вещи поверх видео. Я не нашел способ сделать это с помощью gstreamer + Tkinter; Я не думаю, что tk позволяет делать прозрачные холсты. Поэтому я посмотрел на использование gtk, но я немного потерял - я бы хотел бы , чтобы иметь возможность просто отбрасывать прозрачный накладной сверху и нажимать пиксели, но я не думаю, что есть такая вещь, как прозрачная DrawingArea. Поэтому мне нужно отредактировать содержимое DrawingArea после того, как каждый кадр видео находится в нем, но пока он не появится на экране. Я пытался использовать expose-event, но это не сработало.

Любые предложения о том, куда идти отсюда? Я хочу, чтобы мой конечный продукт был небольшим интерфейсом, чтобы позволить пользователю рисовать линии и многоугольники поверх видео, а также рисовать пиксели программно - и, если возможно, сохранять результат в кадрах и/или видео. Поэтому было бы предпочтительным направление, которое, скорее всего, сделает это возможным.

Edit: Пробовал использовать сигнал «handoff», но он мерцает безумно. У PiTiVi есть настраиваемый трубопровод, который имеет сигнал с измененным состоянием, который они используют для рисования линий и кругов с Каиром. Так что это вполне выполнимо ...

Изменить 2: Верно, хорошо. PiTiVi только рисует, когда видео приостановлено; Наверное, я могу справиться с этим. Это то, что он использовал для изменения состояния сигнала - вы можете следить за сообщениями об изменении состояния и эмулировать сигнал. Я могу справиться с этим, но было бы очень приятно рисовать каждый кадр.

2
добавлено отредактировано
Просмотры: 1
de