Не могу найти пакет для установки, чтобы получить правильный бэкэнд Qtmultmedia gstreamer

В новой блестящей версии Ubuntu 18.04 я пытаюсь использовать скрипт python3 / pyqt5, использующий QtMultimedia .

Он работал нормально в 17.10. И теперь, даже после установки пакета, я все еще не могу заставить его работать. У меня возникает следующая ошибка при создании экземпляра QMediaplayer:

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

Я предполагаю, что это ошибка, потому что Qt5 и QtMultimedia не могут найти правильный зарегистрированный бэкэнд, верно?

У меня есть все эти Установленный пакет:

gir1.2-gstreamer-1.0 1.14.0-1
gstreamer1.0-alsa:amd64 1.14.0-2ubuntu1
gstreamer1.0-clutter-3.0:amd64 3.0.26-1
gstreamer1.0-fluendo-mp3:amd64 0.10.32.debian-1
gstreamer1.0-gl:amd64 1.14.0-2ubuntu1
gstreamer1.0-libav:amd64 1.14.0-1
gstreamer1.0-packagekit 1.1.9-1ubuntu2
gstreamer1.0-plugins-bad:amd64 1.14.0-1ubuntu1
gstreamer1.0-plugins-base:amd64 1.14.0-2ubuntu1
gstreamer1.0-plugins-base-apps 1.14.0-2ubuntu1
gstreamer1.0-plugins-good:amd64 1.14.0-1ubuntu1
gstreamer1.0-plugins-ugly:amd64 1.14.0-1
gstreamer1.0-pulseaudio:amd64 1.14.0-1ubuntu1
gstreamer1.0-python3-plugin-loader 1.14.0-1
gstreamer1.0-qt5:amd64 1.14.0-1ubuntu1
gstreamer1.0-tools 1.14.0-1
gstreamer1.0-vaapi:amd64 1.14.0-1
gstreamer1.0-x:amd64 1.14.0-2ubuntu1
libgstreamer1.0-0:amd64 1.14.0-1
libgstreamer-gl1.0-0:amd64 1.14.0-2ubuntu1
libgstreamer-plugins-bad1.0-0:amd64 1.14.0-1ubuntu1
libgstreamer-plugins-base1.0-0:amd64 1.14.0-2ubuntu1
libgstreamer-plugins-good1.0-0:amd64 1.14.0-1ubuntu1
libqt5core5a:amd64 5.9.5+dfsg-0ubuntu1
libqt5dbus5:amd64 5.9.5+dfsg-0ubuntu1
libqt5designer5:amd64 5.9.5-0ubuntu1
libqt5glib-2.0-0:amd64 1.2.0-5
libqt5gstreamer-1.0-0:amd64 1.2.0-5
libqt5gui5:amd64 5.9.5+dfsg-0ubuntu1
libqt5help5:amd64 5.9.5-0ubuntu1
libqt5multimedia5:amd64 5.9.5-0ubuntu1
libqt5multimediawidgets5:amd64 5.9.5-0ubuntu1
libqt5network5:amd64 5.9.5+dfsg-0ubuntu1
libqt5opengl5:amd64 5.9.5+dfsg-0ubuntu1
libqt5printsupport5:amd64 5.9.5+dfsg-0ubuntu1
libqt5qml5:amd64 5.9.5-0ubuntu1
libqt5quick5:amd64 5.9.5-0ubuntu1
libqt5sql5:amd64 5.9.5+dfsg-0ubuntu1
libqt5sql5-sqlite:amd64 5.9.5+dfsg-0ubuntu1
libqt5svg5:amd64 5.9.5-0ubuntu1
libqt5test5:amd64 5.9.5+dfsg-0ubuntu1
libqt5widgets5:amd64 5.9.5+dfsg-0ubuntu1
libqt5x11extras5:amd64 5.9.5-0ubuntu1
libqt5xml5:amd64 5.9.5+dfsg-0ubuntu1
libreoffice-avmedia-backend-gstreamer 1:6.0.3-0ubuntu1
python3-pyqt5 5.10.1+dfsg-1ubuntu2
python3-pyqt5.qtmultimedia 5.10.1+dfsg-1ubuntu2
qt5-gtk-platformtheme:amd64 5.9.5+dfsg-0ubuntu1
qtgstreamer-plugins-qt5:amd64 1.2.0-5

Когда я сравниваю этот список с тем, который я получил 17.10, я, кажется, не пропускаю ни одного. Итак?

Я запустил скрипт с установленным QT_DEBUG_PLUGINS=1, и я не увидел ни ошибки, ни проблемы.

2
задан 9 May 2018 в 18:48

2 ответа

Для любого спотыкающегося через это, вот надлежащая установка, которая создаст QT 5.11.2 как некорневой, затем установит pyqt 5.11.2 с поддержкой GStreamer 1.0 на Ubuntu 18.04 в виртуальную среду с помощью Python> = 3.6:

  1. Установка gstreamer1.0
  2. Импульс установки (Это требуется так QMultimediaWidgets, является сборкой), sudo apt install libpulse-dev
  3. Загрузите QT 5.11.2
  4. Сделайте загруженный исполняемый файл файла и выполните его (chmod +x qt-unified-linux-x64-3.0.5-online.run). Нажмите через мастер. Я предполагаю, что Вы устанавливаете на $HOME/Qt
  5. Создайте виртуальную среду python -m venv venv.
  6. Загрузите SIP 4.19.12 и распакуйте
  7. Загрузите pyqt 5.11.2 и распакуйте
  8. Активируйте свою среду source venv/bin/activate
  9. Установка SIP:
    • Войдите в папку SIP
    • Скажите этому использовать свой виртуальный ENV python configure.py -d ../venv/lib/python3.6/site-packages
    • make -j4
    • make install
    • Создайте частную копию для QT: python configure.py -d ../venv/lib/python3.6/site-packages --sip-module PyQt5.sip --no-tools
    • make -j4
    • make install
  10. Установка PyQt:
    • Войдите в папку PyQt
    • Скажите этому который qmake, Python и глоток использовать python configure.py --destdir ../venv/lib/python3.6/site-packages --qmake ~/Qt/5.11.2/gcc_64/bin/qmake --sip ../venv/bin/sip
    • make -j12
    • make install

Это должно быть этим теперь. На основе http://pyqt.sourceforge.net/Docs/PyQt5/installation.html, http://pyqt.sourceforge.net/Docs/sip4/installation.html и большого метода проб и ошибок. Если что-то не работает, я рекомендую использовать --verbose во время шага конфигурации PyQt.

0
ответ дан 2 December 2019 в 07:38

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

Копия - мимо ниже:

Проблема состояла в том, что у меня были немногие две версии PyQt5 и sip установленный для Python3. Каждый был в /usr/lib/python3/dist-packages/ и другой в ~/.local/lib/python3.6/site-pacages/. Полностью удаление .local версиям помогают.

0
ответ дан 2 December 2019 в 07:38

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

Похожие вопросы: