4

ビデオを再生するためにvlc pythonバインディングを使用しています。次に、これらのエラーが発生しました:

[0x3d0c58] main window error: corrupt module: /Applications/VLC.app/Contents/MacOS/plugins/libmacosx_plugin.dylib
[0x3c9af8] vout_macosx vout display error: No drawable-nsobject nor vout_window_t found, passing over.
[0x3178a98] main video output error: video output creation failed
[0xa48c98] main decoder error: failed to create video output

ビデオは表示されません。ただし、音声は問題ありません。問題なく音声を聞くことができます。また、play()、pause() などの他のすべての python vlc 関数を問題なく呼び出すこともできます。ただビデオはありません。

VLC 2.0.8 32 ビット、OSX 10.8.4 64 ビット、python 3.3.2 32 ビットです。VLC を直接使用しても、ビデオの再生に問題はありません。これは、python コマンドラインを使用した場合にのみ発生します。

ただし、Windows 7でも同じことを行いましたが、すべてが完全に機能します。それで、これはMacだけの問題ですか?

Python vlc バインディングをhttp://liris.cnrs.fr/advene/download/python-ctypes/からダウンロードします。

4

2 に答える 2

1

player.play() を呼び出す直前に、このようなコードを追加してください。Oliver のコメントで述べたように、ウィンドウを作成して VLC に渡す必要があります。

他のプラットフォームではまだテストしていませんが、インスピレーションに使用した github のコードにはシステム固有のコードがあるようですが、これは他のプラットフォームでは必要ないようです。

    if sys.platform == "darwin":
        from PyQt4 import QtCore
        from PyQt4 import QtGui
        import sys

        vlcApp =QtGui.QApplication(sys.argv)
        vlcWidget = QtGui.QFrame()
        vlcWidget.resize(700,700)
        vlcWidget.show()
        player.set_nsobject(vlcWidget.winId())

    player.play()
于 2015-02-13T13:09:53.290 に答える