Запланированная пауза в Гнонлине

Я использую Gnonlin для воспроизведения 2 видео. В какой-то момент я хотел бы приостановить одно видео и запустить другое. Однако я не хочу вручную останавливать конвейер, так как другое видео также будет приостановлено.

Например:

self.video[0].set_property("location", LOCATION_VIDEO1)
self.video[0].set_property("start", 0 * gst.SECOND)
self.video[0].set_property("duration", 5 * gst.SECOND)
self.video[0].set_property("media-start", 0 * gst.SECOND)
self.video[0].set_property("media-duration", 5 * gst.SECOND)

Это видео длится 5 секунд. Что я могу сделать, чтобы приостановить или остановить воспроизведение этого видео на следующие 5 секунд? Есть ли способ показать тот же кадр за 5 секунд?

1 ответ

Основываясь на этой статье http://www.jonobacon.com/2006/12/27/using-gnonlin-with-gstreamer-and-python/, если я правильно понимаю, я думаю, что вы можете написать:

self.video[0].set_property("location", LOCATION_VIDEO1)
self.video[0].set_property("start", 0 * gst.SECOND)
self.video[0].set_property("duration", 5 * gst.SECOND)
self.video[0].set_property("media-start", 0 * gst.SECOND)
self.video[0].set_property("media-duration", 0 * gst.SECOND)

Чтобы получить замороженную рамку за 5 секунд. Это может работать для вас... или это может работать:

self._playbin.set_state(gst.STATE_PAUSED) 

Кроме этого, у меня нет предложений - документация кажется скудной. Если бы вы могли указать мне на API, я мог бы иметь лучшую идею.

Другие вопросы по тегам