web-dev-qa-db-ja.com

Python pyglet AVBin-AVBinのインストール方法

AVBinは、MP3をデコードするためにPygletによって使用されます。リンク: http://avbin.github.com/AVbin/Download.html

提供されているinstall.shを使用してインストールした場合、使用するとエラーが発生します。

'AVbin is required to decode compressed media')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media

...それで、正しくインストールされなかったのですか? python virtualenvを使用して、これが問題を引き起こしているのではないかと疑います...このように、virtualenvでAVBinのinstall.shを実行しましたが、

(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ Sudo bash install.sh 

更新

私はavbinがインストールされている場所を見つけました...それは正しい場所にインストールされているようです= S

~/pyvien/SoundShenanigans/lib/python2.7/site-packages/pyglet/media$ ls
avbin.py   drivers      __init__.pyc   procedural.pyc  riff.pyc
avbin.pyc  __init__.py  procedural.py  riff.py

アップデート2

ライブラリは.dylibではなく.soですが、なぜ.dylibの不可解なコードが必要なのですか?これはMacではなくLinuxです(Macには.dylibがあり、Ubuntuには.soがあります)。

File "SoundShenanigans.py", line 4, in
  from pyglet.media import avbin
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/media/avbin.py", line 53, in
  darwin='/usr/local/lib/libavbin.dylib')
File "/home/user/pyvien/SoundShenanigans/local/lib/python2.7/site-packages/pyglet/lib.py", line 122, in load_library
  raise ImportError('Library "%s" not found.' % names[0])
ImportError: Library "avbin" not found.
22
xxjjnn

それをインストールすることについて:

Sudo apt-get install libavbin-dev libavbin0

このパッケージの詳細: http://packages.ubuntu.com/source/avbin

編集:それは新しいubuntuバージョンにはもう含まれていないようです。 https://avbin.github.io/AVbin/Download.html からダウンロードして、次のようにインストールする必要があります。

Sudo sh ./install-avbin-linux-x86-64-v10
10
Sebastian

Windowsでも同じ問題があり、python 2.7 for Windowsではインストーラーがありません。

Avbin dllをフォルダーに配置する(またはインストーラーを使用してグローバルにインストールする)場合は、次のように記述します。

pyglet.lib.load_library('avbin')
pyglet.have_avbin=True

次のように、pygletのインポート後:

import pyglet
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True

それはavbinをロードして楽しく使用します。

9
Joe Marshall

私のOSはWindows10 64ビットです。

問題:

pyglet.media.riff.WAVEFormatException:圧縮メディアをデコードするにはAVbinが必要です

Windows10でそれを修正する方法:

  1. AVbin Downloads から32bits AVbin.dllをダウンロードします
    ご注意ください:64ビットのWin10を使用している場合でも、64ビットのAVbin dllは機能しません。
    そのため、代わりに32ビットをダウンロードしてください。

  2. 1.の.exeは、avbin.dllwindows/system32/フォルダーに抽出します。
    それを切り取ってコピーし、windows/system/フォルダに貼り付けてください。それは、windows10が32ビットのAVbinのみを参照し、64ビットを参照していないように見えます。

  3. あなたは行ってもいいです。それを試してみてください !

4
ChihWei

壁に頭をぶつけて超サイヤ人に行って突破しました。

解決策は、最新ではなくSTABLEリリースをインストールすることです。必要なのは少しです

:~/Downloads/avbin-linux-x86-64-7$ Sudo ./install.sh 

そしてそれは機能します。彼らはインストーラーと混同していると思います...

4
xxjjnn

ここ から特定のインストーラーをダウンロードします。

次に、ダウンロードフォルダーに移動し、Sudoを使用して実行します。

例えば私の場合、私は以下を実行しました:

wget https://github.com/downloads/AVbin/AVbin/install-avbin-linux-x86-64-v10
Sudo install-avbin-linux-x86-64-v10

私にとっては、具体的には ここ からAVbin 7をインストールすることでした。

AVbin 8と10は動作しているように見えましたが、音が出ませんでした。

32ビットUbuntu 12.04を実行しています。

4
L1fescape

私にとっては、dllを正しいフォルダーに手動で移動する必要がありました。
AVBinインストーラーのバグにより、C:\Windows\System32に配置する必要があるときに、C:\Windows\SysWOW64にインストールされます。
Windowsを使用していることを前提としています!

これを修正するには、C:\Windows\System32に移動してavbin.dll(64ビットシステムの場合はavbin64.dll)を見つけ、手動でC:\Windows\SysWOW64にカットアンドペーストするだけです。

(または、あなたが私で、両方のdllをダウンロードした場合は、両方を移動してください...)

3
Mattstir

私はWindowsでこの問題を抱えていて、検索エンジンを介してこの質問を見つけたので、自分の経験と解決策を共有したいと思いました。

WMVファイルをロードしようとしましたが(少なくともそれは拡張子です)、質問で説明されているのと同じ例外が発生しましたが、問題は 'pip install pyglet'コマンドを使用してpygletをインストールし、その後インストーラーからAVBinをインストールしたためです。

私の問題を解決したのは、プロジェクトサイトで見つかったインストーラーからのpygletのインストールでした。AVBinが含まれていて、すべてが正常に機能しました。

2
Piotr Owsiak