Python pyglet AVBin-Cómo instalar AVBin
mp3 virtualenv (8)
AVBin es utilizado por Pyglet para decodificar MP3. Enlace: http://avbin.github.com/AVbin/Download.html
Se instala utilizando install.sh, cuando se utiliza conduce a un error:
''AVbin is required to decode compressed media'')
pyglet.media.riff.WAVEFormatException: AVbin is required to decode compressed media
... ¿Así que no se instaló correctamente? Al usar Python virtualenv, sospeche que esto podría estar causando problemas ... aunque ejecuté AVBin install.sh en virtualenv, como este:
(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh
ACTUALIZAR
He encontrado dónde está instalado avbin ... parece estar instalado en el lugar correcto = 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
ACTUALIZACIÓN 2
La biblioteca es .so, no .dylib, ¿por qué quieres el código misterioso de .dylib? Esto es Linux, no Mac (Mac tiene .dylib, Ubuntu tiene .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.
¿Qué hay de instalarlo por:
sudo apt-get install libavbin-dev libavbin0
Más información sobre este paquete: http://packages.ubuntu.com/source/avbin
Edición: Parece que ya no está incluido para las versiones más nuevas de Ubuntu. Así que tienes que descargarlo desde https://avbin.github.io/AVbin/Download.html e instalarlo a través de
sudo sh ./install-avbin-linux-x86-64-v10
Descargue el instalador específico desde https://avbin.github.io/AVbin/Download.html .
Luego ve a la carpeta de descargas y ejecútalo usando sudo.
Por ejemplo en mi caso corrí lo siguiente:
wget https://github.com/downloads/AVbin/AVbin/install-avbin-linux-x86-64-v10
sudo install-avbin-linux-x86-64-v10
Fui super saiyan golpeando mi cabeza contra la pared, y la rompí.
La solución es instalar la versión ESTABLE, en lugar de la última. Todo lo que necesita es un poco.
:~/Downloads/avbin-linux-x86-64-7$ sudo ./install.sh
Y funciona. Creo que tienen una confusión con sus instaladores ...
Mi sistema operativo es Windows10 64bits .
La cuestión:
pyglet.media.riff.WAVEFormatException: AVbin es necesario para decodificar medios comprimidos
Cómo solucionarlo en Windows10:
Descargar 32bits AVbin.dll desde https://avbin.github.io/AVbin/Download.html
Tenga en cuenta : la dll AVbin de 64 bits NO funciona incluso si está usando Winb de 64 bits.
Así que por favor descargue los 32 bits en su lugar.El .exe de 1. extrae el
avbin.dll
en laavbin.dll
windows/system32/
.
Por favor córtelo / cópielo y péguelo en la carpetawindows/system/
. Parece que windows10 se refiere a solo 32bits AVbin pero no a 64bits.Eres bueno para ir. Intentalo !
Para mí específicamente fue instalar AVbin 7 desde here .
AVbin 8 y 10 parecían funcionar, pero no se escuchaba ningún sonido.
Ejecutando 32bit Ubuntu 12.04.
Para mí, tuve que mover manualmente el dll a la carpeta correcta.
Debido a un error en el instalador de AVBin, se instala en C:/Windows/System32
cuando debería haberse colocado en C:/Windows/SysWOW64
.
(¡ Suponiendo que estás en Windows! )
Para solucionar este problema, todo lo que tiene que hacer es ir a C:/Windows/System32
y buscar avbin.dll
(o avbin64.dll
si está en un sistema de 64 bits) y cortarlo y pegarlo manualmente en C:/Windows/SysWOW64
.
(O si eres yo y descargué ambos archivos DLL, entonces mueve ambos ...)
Tuve el mismo problema en Windows, y no hay ningún instalador para Python 2.7 en Windows.
Si coloca el archivo avbin dll en su carpeta (o lo instala globalmente con el instalador), escriba:
pyglet.lib.load_library(''avbin'')
pyglet.have_avbin=True
después de la importación de pyglet, así:
import pyglet
pyglet.lib.load_library(''avbin'')
pyglet.have_avbin=True
Se cargará y utilizará avbin felizmente.
Tuve este problema en Windows y encontré esta pregunta a través de un motor de búsqueda, así que pensé en compartir mi experiencia y solución.
Intenté cargar un archivo WMV (al menos esa es la extensión) y obtuve la misma excepción que se describe en la pregunta, pero mi problema se debió al hecho de que instalé pyglet usando el comando ''pip install pyglet'' y luego AVBin desde un instalador.
Lo que me solucionó el problema fue una instalación de pyglet desde un instalador que se encuentra en el sitio del proyecto, contiene AVBin y luego todo funcionó bien.