QWebView和嵌入式YouTube播放器 - 无法正常工作

时间:2016-06-06 07:20:14

标签: qt youtube embedded-resource pyqt5 qwebview

我的系统:

操作系统:Debian Jessie 64位

GPU: ATI Mobility Radeon HD 5650(带专有视频驱动程序)

我正在使用PyQt5,并希望在QWebView内嵌入QWizardPage YouTube教程视频。然而,我得到的是以下内容真的很奇怪:

  • 如果我使用视频的嵌入式链接(即嵌入式YouTube播放器),视频根本无法加载,这基本上就是我想要使用的内容,而不是加载完整的YouTube网站
  • 如果我使用普通链接(不是嵌入式),我得到的不是图像,而是有声音
  • 播放时间始终搞砸了 - 当我播放器的播放轨迹栏和“
  • 时,我得到-Nan:Nan
  • 在终端(我从中启动PyQt5应用程序)总是给我以下错误:

    Cannot connect to server socket err = No such file or directory
    Cannot connect to server request channel
    jack server is not running or cannot be started
    

特别是最后一个错误确实令我感到困惑,因为我没有使用JACK服务器,因为我没有使用JACK(我使用PulseAudioALSA取决于案子)。 QWebView在Linux系统上需要JACK吗?

以下是我的QWizard和相应的QWizardPage

的屏幕截图

enter image description here

我使用的代码如下(为了这篇文章的目的,URL只是一个例子(视频是我的):

class CalibrationPageWelcome(QWizardPage):
    '''
    Gives an overviewo of the calibration procedure including some external URLs to tutorials
    '''
    def __init__(self, parent):
        super(CalibrationPageWelcome, self).__init__(parent)
        self.setTitle('Calibration Wizard')
        self.setSubTitle('The wizard will guide you through the process of calibrating your camera device.')

        layout = QVBoxLayout()
        label = QLabel('''
            Before you continue make sure you are familiar with the process of calibration.
            The video below will give a brief explanation what the calibration process is for 
            and how it will be done using this wizard
        ''')
        label.setWordWrap(True)
        layout.addWidget(label)

        view = QWebView()
        # TODO Add link to tutorial about calibrating a camera using patterns and OpenCV
        view.load(QUrl('https://www.youtube.com/embed/5sOiGJRyoBI'))
        layout.addWidget(view)

        self.setLayout(layout)

知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:0)

确保安装了相应的GStreamer依赖项 - 在Debian Jessie上应该是:

apt-get install gstreamer1.0-plugins-{bad,base,good,ugly}