2012-04-24 13 views
18

AVBin wird von Pyglet verwendet, um MP3s zu entschlüsseln. Link: http://avbin.github.com/AVbin/Download.htmlPython Pyglet AVBin - Wie installiere ich AVBin

mit install.sh bereitgestellt, installiert, wenn Leitungen verwendet, um Fehler:

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

... So ist es nicht richtig installiert werden? Mit Python virtualenv, vermuten, dass dies Probleme verursachen könnte ... obwohl ich AVBin der install.sh in virtualenv lief, wie folgt aus:

(SoundShenanigans)[email protected]:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh 

UPDATE

ich gefunden habe, wo avbin installiert ist ... es scheint installiert an der richtigen Stelle = 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 

UPDATE 2

die Bibliothek werden .so wird, nicht .dylib, warum Sie mysteriösen Code wollen .dylib? Dies ist Linux nicht Mac (Mac haben .dylib, Ubuntu hat .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. 
+0

Ich änderte Zeile 53 zu lesen .so, immer noch nicht geholfen. Die Installation von Stable Version 7 hat funktioniert ... 8 war instabil! – xxjjnn

Antwort

10

Was es über die Installation von:

sudo apt-get install libavbin-dev libavbin0 

Weitere Informationen zu diesem Paket: http://packages.ubuntu.com/source/avbin

Edit: Es sieht aus wie es nicht mehr für neuere Ubuntu-Versionen enthalten ist. Also muss man es von https://avbin.github.io/AVbin/Download.html herunterladen und installieren es über

sudo sh ./install-avbin-linux-x86-64-v10 
+0

alles für Mac OSX Benutzer? –

+9

Dieses Paket ist nicht verfügbar in 16.04, ist pyglet gerade tot? – BruceJohnJennerLawso

4

Ich ging SuperSaiyan meinen Kopf gegen die Wand schlagen, und durchbrach sie.

Die Lösung besteht darin, die STABLE-Version anstelle der neuesten zu installieren. Alles was es braucht, ist ein wenig

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

Und es funktioniert. Ich denke, sie haben eine Verwechslung mit ihren Installateuren ...

4

Für mich war es speziell installiert AVbin 7 von here.

AVbin 8 und 10 schienen einfach zu laufen, aber es kam kein Ton heraus.

Lauf 32bit Ubuntu 12.04.

2

Ich hatte dieses Problem auf Windows und fand diese Frage über eine Suchmaschine, so dass ich dachte, ich würde meine Erfahrung und Lösung teilen.

Ich habe versucht, w WMV-Datei zu laden (zumindest das ist die Erweiterung) und bekam die gleiche Ausnahme wie in der Frage beschrieben, aber mein Problem war aufgrund der Tatsache, dass ich pyglet mit 'pip install pyglet' Befehl und dann AVBin installiert von einem Installateur.

Was löste das Problem für mich war eine Installation von Pyglet von einem Installer auf der Projektseite gefunden, es enthält AVBin und dann hat alles gut funktioniert.

6

ich das gleiche Problem auf Windows hatte, und es gibt keinen Installer für Python 2.7 unter Windows.

Wenn Sie die avbin DLL in Ihrem Ordner speichern (oder global installieren Sie das Installationsprogramm zu verwenden), dann schreiben:

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

nach dem Import von Pyglet, wie folgt aus:

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

Es lädt und benutzt avbin glücklich.

2

Für mich musste ich die DLL manuell in den richtigen Ordner verschieben.
Aufgrund eines Fehlers im AVBin-Installationsprogramm wird es in C:\Windows\System32 installiert, wenn es in C:\Windows\SysWOW64 platziert werden sollte.
(Sie sind unter Windows Unter der Annahme!)

Um dies zu beheben, alles, was Sie tun müssen, ist in C:\Windows\System32 gehen und avbin.dll zu finden (oder avbin64.dll, wenn Sie auf einem 64-Bit-System) sind und von Hand geschnitten-and- fügen Sie es in C:\Windows\SysWOW64 ein.

(Oder wenn Sie mir sind und heruntergeladen beide DLLs dann beide bewegen ...)

2

Laden Sie das spezifische Installationsprogramm von here.

Dann gehen Sie zum Download-Ordner und führen Sie es mit Sudo.

Zum Beispiel in meinem Fall lief ich folgendes:

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

Mein OS ist 64bits Microsoft Windows 10.

Die Frage:

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

Wie es auf Microsoft Windows 10 zu beheben:

  1. Herunterladen 32bits AVbin.dll von AVbin Downloads
    Bitte beachten: Die 64bits AVbin dll nicht einmal funktioniert Sie verwenden 64bit Win10.
    Also bitte laden Sie die 32bits statt.

  2. Die .exe von 1. extrahiert die avbin.dll in windows/system32/ Ordner.
    Bitte ausschneiden/kopieren und in den Ordner windows/system/ einfügen. Es sieht Windows10 bezieht sich nur auf 32bits AVbin, aber nicht 64bits.

  3. Sie sind gut zu gehen. Probieren Sie es aus!