Não é possível encontrar qual pacote instalar para obter um backend adequado do Qtmultmedia gstreamer

2

Em um novo e brilhante ubuntu 18.04 , estou tentando usar um script python3 / pyqt5 que use QtMultimedia .

Estava funcionando bem em 17.10. E agora, mesmo depois de instalar um monte de pacotes, ainda não consigo fazê-lo funcionar. Eu tenho o seguinte erro quando um QMediaplayer é instanciado:

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

Eu presumo que seja um erro porque o Qt5 e o QtMultimedia não conseguem encontrar um back-end apropriado registrado corretamente?

Eu tenho todos esses pacotes instalados:

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

Quando eu comparo essa lista com a que eu peguei no dia 17.10, não pareço perder nenhuma. Então?

Eu corri o script com QT_DEBUG_PLUGINS=1 set e não vi nenhum erro ou problema.

    
por solsTiCe 09.05.2018 / 17:48

2 respostas

0

Apenas resolveu meu problema então talvez ele também o ajude.

Copie e cole abaixo:

O problema era que eu tinha duas versões de PyQt5 e sip instaladas para o Python3. Um estava em /usr/lib/python3/dist-packages/ e o outro em ~/.local/lib/python3.6/site-pacages/ . A exclusão completa de .local versões ajudou.

    
por Dawid Laszuk 19.05.2018 / 22:34
0

Para qualquer um que tropeçar nisso, aqui está a configuração apropriada que irá construir o Qt 5.11.2 como não-root, em seguida, instale o pyqt 5.11.2 com suporte ao GStreamer 1.0 no Ubuntu 18.04 em um ambiente virtual usando python > = 3.6:

  1. Instale o gstreamer1.0
  2. Instalar pulso (isso é necessário para que o QMultimediaWidgets seja criado) sudo apt install libpulse-dev
  3. Download do Qt 5.11.2
  4. Torne o arquivo baixado executável e execute-o ( chmod +x qt-unified-linux-x64-3.0.5-online.run ). Clique no assistente. Estou assumindo que você está instalando em $HOME/Qt
  5. Crie um ambiente virtual python -m venv venv .
  6. Faça o download do SIP 4.19.12 e descompacte-o
  7. Faça o download do pyqt 5.11.2 e descompacte-o
  8. Ative seu ambiente source venv/bin/activate
  9. Instalar o SIP:
    • Entre na pasta SIP
    • Diga para usar seu env virtualpython configure.py -d ../venv/lib/python3.6/site-packages
    • make -j4
    • make install
    • Crie uma cópia particular para o Qt: python configure.py -d ../venv/lib/python3.6/site-packages --sip-module PyQt5.sip --no-tools
    • make -j4
    • make install
  10. Instalar o PyQt:
    • Entre na pasta PyQt
    • Diga qual qmake, python e gole para usar 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

Isso deveria ser agora. Com base no link , link e muita tentativa e erro. Se algo não funcionar, recomendo usar --verbose durante a etapa de configuração do PyQt.

    
por RunOrVeith 24.09.2018 / 14:06