Python pyglet AVBin – Cómo instalar AVBin

AVBin es utilizado por Pyglet para decodificar archivos 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 en las versiones más nuevas de Ubuntu. Así que debes descargarlo de https://avbin.github.io/AVbin/Download.html e instalarlo a través de

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

Tuve el mismo problema en Windows y no hay un 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.

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 …

Para mí específicamente fue instalar AVbin 7 desde aquí .

AVbin 8 y 10 parecían funcionar, pero no se escuchaba ningún sonido.

Ejecutando 32bit Ubuntu 12.04.

Descargue el instalador específico desde aquí .

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 

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.

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 solucionarlo, 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 …)

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:

  1. Descarga 32bits AVbin.dll desde descargas de AVbin
    Tenga en cuenta que : el archivo DLL de 64bits AVbin NO funciona, incluso si está utilizando 64bits Win10.
    Así que por favor descargue los 32 bits en su lugar.

  2. El .exe de 1. extrae el avbin.dll en la avbin.dll windows/system32/ .
    Por favor córtelo / cópielo y péguelo en la carpeta windows/system/ . Parece que windows10 se refiere a solo 32bits AVbin pero no a 64bits.

  3. Eres bueno para ir. Intentalo !