привязки python gstreamer для окон

Я рассматриваю gstreamer как средство для выбора видеоустройства из списка, чтобы передать его сценарию opencv.

Я абсолютно не понимаю, как использовать gstreamer с python в окнах. Я установил двоичные файлы Windows gstreamer 1.07 с официального сайта gstreamer . Однако я не смог импортировать pygst и gst модули в python.

 >>> import pygst Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import pygst ImportError: No module named pygst >>> 

Я проверил установку gstreamer, и, похоже, нет pygst.py . Однако есть файл с именем gst-env который содержит пути для переменных среды (которые не были добавлены к системным переменным при установке. Я проверил.

Другие вопросы по одной и той же проблеме здесь и здесь , например, используют все версии winstream для gstreamer. Почему это так?

Я полностью потерял это.

редактировать

Хорошо, мне удалось использовать SDK для Gstreamer 0.10 (в котором есть pygst.py ), но разве нет способа использовать Gstreamer 1.0 series, так как 0.10 – это «конец жизни»?

  • HTTPS-запрос приводит к сбросу соединения в Windows с Python 3
  • Обнаружение рефлексивной DLL-инъекции
  • Как вы используете общие файлы журналов в Windows?
  • сохранить несколько окон консоли из пакета
  • Получить общую длину видео в определенном каталоге в python
  • Каковы подводные камни и обходные пути при использовании виртуальных сред Python в Windows?
  • разные обои для каждого экрана для настройки нескольких мониторов в Windows
  • 'pip setup.py bdist_wheel' больше не строит принудительные нечистые колеса
  • 3 Solutions collect form web for “привязки python gstreamer для окон”

    Это немного поздно, но, надеюсь, это поможет.

    Самый простой способ использовать GStreamer 1.0 – загрузить последнюю версию с: http://sourceforge.net/projects/pygobjectwin32/files/

    Это установит модули Python (2.7 или 3.3) и, возможно, GStreamer с плагинами.

    Однако, если у вас уже есть GStreamer 0.10 SDK (из docs.gstreamer.com/display/GstSDK/Home) и старая установка GStreamer 1.0 где-то, могут возникнуть проблемы с запуском программ Python Gstreamer 0.10, таких как ImportError: сбой загрузки DLL и т. Д. Вот моя подробная настройка для всего:

    Установка модулей GST 0.10 SDK и Python

    1. Установите SDK из docs.gstreamer.com/display/GstSDK/Installing+on+Windows. Проверка и установка переменных среды
      GSTREAMER_SDK_ROOT_X86 = .. ваш sdk dir
      GST_PLUGIN_PATH =% GSTREAMER_SDK_ROOT_X86% \ Lib \ GStreamer-0,10
      Path =% GSTREAMER_SDK_ROOT_X86% \ Bin;% GSTREAMER_SDK_ROOT_X86% \ Lib;% Path%
    2. Установите pygtk-all-in-one-2.24.2.win32-py2.7 с http://ftp.gnome.org/pub/GNOME/binaries/win32/
    3. В вашем каталоге Python-пакетов создайте файл pygst.pth . Поместите следующие строки, которые должны указывать на каталоги модулей Python GSt 0.10:
      ..your% GSTREAMER_SDK_ROOT_X86% \ lib \ python2.7 \ site-packages
      ..your% GSTREAMER_SDK_ROOT_X86% \ lib \ python2.7 \ site-packages \ gst-0.10
    4. После этого pydoc должен иметь возможность находить документацию для pygst, gst и т. Д. Кроме того, intellisense в инструментах Python для Visual Studio также должен работать (после восстановления БД завершения и перезапуска VS)

    Установка модулей Gst 1.0 и Python

    1. Установите GStreamer 1.0 из gstreamer.freedesktop.org/data/pkg/windows/. Проверьте среду:
      GSTREAMER_1_0_ROOT_X86 = .. Gst 1.0 установочный каталог
      GST_PLUGIN_PATH_1_0 =% GSTREAMER_1_0_ROOT_X86% \ Lib \ GStreamer-1,0 \
      Path =% GSTREAMER_1_0_ROOT_X86% \ Bin;% GSTREAMER_1_0_ROOT_X86% \ Lib;% Path%
    2. Установите pygi-aio-3.10.2-win32_rev14-setup из вышеуказанной ссылки Sourceforge. Включите Gstreamer и плагины в процессе установки.
    3. Создать файл gi.pth :
      % GSTREAMER_1_0_ROOT_X86% \ Bin
      % GSTREAMER_1_0_ROOT_X86% \ Lib
    4. Я удалил все из каталога site-packages / gnome, за исключением:
      libgirepository-1.0-1
      libpyglib-ги-2,0-python27-0
      каталог lib с файлами .typelib
      и несколько простых примеров, похоже, работают нормально.
    5. Intellisense в VS, похоже, не работает для импорта из gi.repository.
    6. Вы можете протестировать свою установку следующим образом:

      python2 -c "import gi; gi.require_version ('Gst', '1.0'), из gi.repository import Gst; Gst.init (None); конвейер = Gst.parse_launch ('playbin uri = http: // docs. gstreamer.com/media/sintel_trailer-480p.webm '); pipe.set_state (Gst.State.PLAYING); bus = pipeline.get_bus (); msg = bus.timed_pop_filtered (Gst.CLOCK_TIME_NONE, Gst.MessageType.ERROR | Gst .MessageType.EOS)»

    Изменить: если вы используете GStreamer0.10 и GStreamer1.0, лучше создать отдельную виртуальную среду для GStreamer0.10 и поместить файлы .pth в каталог своего сайта . См. Мой комментарий ниже.

    HTH, Том

    Установщик из http://sourceforge.net/projects/pygobjectwin32/files/ должен работать для тестового примера, который дал Том. Попробуйте сопоставить, какие плагины установлены установщиком pygi с одним из официального gstreamer.

    Установщик пытается быть «переносной и частной» установкой для каждого python без изменений реестра / окружающей среды.

    Мое замечание о DLL-времени выполнения, рекомендуется не смешивать среду выполнения, потому что одна из pygi создана специально для python, ака, связанная с msvcrt, предпочитаемая python, и использует соглашение stat (), которое также используется python. Если публичный api такой stat () glib's () использует другое соглашение, отличное от другой dll, тогда смешивание во время выполнения может привести к бесшумному сбою. Кроме этого, он может работать нормально.

    Шаг 1: Windows 8.1 64-бит

    Шаг 2: Загрузка и установка Python

     C:\>wget https://www.python.org/ftp/python/2.7.9/python-2.7.9.amd64.msi C:\>./python-2.7.9.amd64.msi C:\>cd C:\Python27 C:\>pwd C:\Python27 

    Шаг 3: Загрузите установочные привязки Python для Gstreamer 1.0

     C:\>wget http://sourceforge.net/projects/pygobjectwin32/files/pygi-aio-3.14.0_rev14-setup.exe C:\>unzip "pygi-aio-3.14.0_rev14-setup.exe" C:\>whereis_unzipped "pygi-aio-3.14.0_rev14-setup.exe" C:\pygi C:\>./c:\pygi\setup.exe 

    введите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесьвведите описание изображения здесь

    Шаг 4: Запустите этот код

     C:\>C:\Python27\python.exe -c "import gi; gi.require_version('Gst', '1.0'); from gi.repository import Gst; Gst.init(None); pipeline = Gst.parse_launch('playbin uri=http://docs.gstreamer.com/media/sintel_trailer-480p.webm'); pipeline.set_state(Gst.State.PLAYING); bus = pipeline.get_bus();msg = bus.timed_pop_filtered(Gst.CLOCK_TIME_NONE, Gst.MessageType.ERROR | Gst.MessageType.EOS)" 

    Шаг 5: вам нужно подождать 10 минут, чтобы увидеть результат, похожий на следующий. Потому что по какой-то причине требуется время

    введите описание изображения здесь

    Python - лучший язык программирования в мире.