Python pyglet AVBin - comment installer AVBin
L'AVBin est utilisé par Pyglet pour décoder les MP3s. Lien:http://avbin.github.com/AVbin/Download.html
installé en utilisant install.sh provided, when used leads to error:
'AVbin is required to decode compressed media')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media
... donc il ne s'est pas installé correctement? En utilisant Python virtualenv, soupçonnez que cela pourrait causer des problèmes... bien que J'ai couru AVBin install.sh in virtualenv, like this:
(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh
UPDATE
j'ai trouvé où avbin est installé... il semble être installé au bon endroit =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
la Bibliothèque est .donc, pas .dylib, pourquoi veux-tu .le code mystérieux de dylib? C'est Linux, Pas Mac (Mac's have .DYLIB, Ubuntu l'a fait .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.
8 réponses
Qu'en est-il de l'installation par:
sudo apt-get install libavbin-dev libavbin0
http://packages.ubuntu.com/source/avbin
Edit: il semble qu'il n'est plus inclus pour les nouvelles versions ubuntu. Donc, vous devez le télécharger à partir de https://avbin.github.io/AVbin/Download.html et l'installer via
sudo sh ./install-avbin-linux-x86-64-v10
J'ai eu le même problème sur Windows, et il n'y a pas d'installateur pour python 2.7 sur Windows.
si vous mettez la dll avbin dans votre dossier (ou l'installez globalement en utilisant l'installateur), alors écrivez:
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
import pyglet
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
il va charger et utiliser avbin avec plaisir.
je suis allé super saiyan frapper ma tête contre le mur, et cassé à travers elle.
la solution est d'installer la version STABLE, plutôt que la dernière. Tout ce dont elle a besoin est un peu
:~/Downloads/avbin-linux-x86-64-7$ sudo ./install.sh
et ça marche. Je pense qu'ils ont un mélange avec leurs installateurs...
J'ai eu ce problème sur Windows et j'ai trouvé cette question via un moteur de recherche donc j'ai pensé que je partagerais mon expérience et solution.
j'ai essayé de charger le fichier WMV (au moins c'est l'extension) et j'ai eu la même exception que celle décrite dans la question mais mon problème était dû au fait que j'ai installé pyglet en utilisant la commande 'pip install pyglet' et puis AVBin à partir d'un installateur.
ce qui a résolu le problème pour moi était une installation de pyglet à partir d'un installateur trouvé sur le site du projet, il contient AVBin et puis tout a bien fonctionné.
pour moi, j'ai dû déplacer manuellement la dll vers le bon dossier.
En raison d'un bug dans L'installateur AVBin, il s'installe dans C:\Windows\System32
quand il aurait été placé dans C:\Windows\SysWOW64
.
( en supposant que vous êtes sur Windows!)
Pour résoudre ce problème, tout que vous avez à faire est d'aller dans C:\Windows\System32
et trouver avbin.dll
(ou avbin64.dll
si vous êtes sur un système 64 bits) et manuellement couper-coller dans C:\Windows\SysWOW64
.
(Ou si vous êtes moi et téléchargé les deux dll ensuite, déplacez les deux...)
télécharger l'installateur spécifique à partir de ici.
puis allez dans le dossier de téléchargement et lancez-le en utilisant sudo.
Par exemple dans mon cas, j'ai couru le suivant:
wget https://github.com/downloads/AVbin/AVbin/install-avbin-linux-x86-64-v10
sudo install-avbin-linux-x86-64-v10
Mon OS est Windows10 64bits.
La question:
pyglet.Média.riff.WAVEFormatException: AVbin est nécessaire pour décoder des données compressées
comment le fixer sur Windows10:
télécharger 32bits AVbin.dll à partir de Avbin Downloads
remarque: la dll 64bits AVbin ne fonctionne pas même si vous utilisez 64bits Win10.
Donc s'il vous plaît télécharger les 32bits à la place.le .exe de 1. extraits de l'
avbin.dll
enwindows/system32/
dossier.
Veuillez couper/copier et collerwindows/system/
dossier. Il semble windows10 se réfère à seulement 32bits AVbin mais pas 64bits.vous êtes prêt à partir. L'essayer !