Python и Gstreamer - PullRequest
       22

Python и Gstreamer

2 голосов
/ 24 апреля 2010

Я создаю потоковое приложение, использующее GStreamer с TCP-конвейером, и я реализовал start, pause и stop.

но проблема в том, что я не могу искать, я пытался изменить значение воспроизведения со стороны сервера, затем я пытался на стороне клиента, и, наконец, попытался изменить значение на обоих одновременно, но во всех случаях это не работает. и я даже попытался приостановить воспроизведение, а затем продолжить, но ничего не происходит.

У меня проблема с поиском и громкостью. Любая помощь, пожалуйста, я искал везде, но я не мог найти ничего, что сработало.

это код, который я использую для поиска

self.pipeline.seek_simple(gst.FORMAT_TIME, gst.SEEK_FLAG_FLUSH, time)

Ответы [ 2 ]

0 голосов
/ 13 декабря 2012

Возможно, вы забыли, чтобы автобус слушал события поиска. Попробуйте вставить это после настройки вашего конвейера:

self.bus = self.pipeline.get_bus()
self.bus.add_signal_watch()   

Если это не сработает, напишите больше кода.

0 голосов
/ 09 ноября 2010

Возможно, это поможет, если вы еще не нашли его:

Поиск в Gstreamer осуществляется с помощью методов seek () и seek_simple (). Чтобы иметь возможность искать, вам также нужно сообщить Gstreamer, какой тип поиска он должен выполнять. В следующем примере мы будем использовать константу формата gst.FORMAT_TIME, которая, как вы можете догадаться, будет выполнять поиск по времени. : D Мы также будем использовать методы query_duration () и query_position (), чтобы получить длину файла и продолжительность воспроизведения файла. Gstreamer по умолчанию использует наносекунды, поэтому вы должны подстроиться под это.

Вот пример: Поиск с помощью GStreamer

...