2012-04-24 11 views
18

AVBin es utilizado por Pyglet para decodificar archivos MP3. Enlace: http://avbin.github.com/AVbin/Download.htmlPython pyglet AVBin - Cómo instalar AVBin

instalan mediante install.sh proporcionado, cuando se utilizan cables a error:

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

... Por lo tanto, no se ha instalado correctamente? Usando virtualenv pitón, sospecho que esto podría estar causando problemas ... aunque me encontré install.sh de AVBin en virtualenv, así:

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

ACTUALIZACIÓN

he encontrado donde está instalado avbin ... parece para ser 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 se .so, no .dylib, ¿por qué quiere .dylib código misterioso? Se trata de Linux no Mac (Mac tienen .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. 
+0

Alteré la línea 53 para leer .so, todavía no ayudó. La instalación de la versión 7 estable funcionó ... ¡8 fue inestable! – xxjjnn

Respuesta

10

¿Qué hay de instalarlo por:

sudo apt-get install libavbin-dev libavbin0 

Más información acerca de este paquete: http://packages.ubuntu.com/source/avbin

Editar: Parece que no se incluye más si hay nuevas versiones de Ubuntu. Así que hay que descargarlo desde https://avbin.github.io/AVbin/Download.html e instalarlo a través de

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

¿Algo para usuarios de mac osx? –

+9

Este paquete no está disponible en 16.04, ¿acaba de morir el chigiro? – BruceJohnJennerLawso

4

Fui Super Saiyan golpeando mi cabeza contra la pared, y se rompió a través de él.

La solución es instalar la versión STABLE, 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 ...

4

Para mí concretamente se estaba instalando AVbin 7 de here.

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

Ejecutando 32bit Ubuntu 12.04.

2

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 el archivo WMV (al menos esa es la extensión) y obtuve la misma excepción que la descrita en la pregunta, pero mi problema se debió al hecho de que instalé pyglet usando el comando 'pip install pyglet' y luego AVBin de un instalador.

Lo resolvió el problema para mí era una instalación de Pyglet de un instalador que se encuentra en el sitio del proyecto, que contiene AVBin y luego todo funcionaba bien.

6

que tenía el mismo problema en Windows, y no hay instalador de Python 2.7 en Windows.

Si coloca el DLL avbin en la carpeta (o lo instala a nivel mundial mediante el instalador), a continuación, escribir:

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 usará avbin felizmente.

2

Para mí, tuve que mover manualmente el dll a la carpeta correcta.
Debido a un error en el instalador AVBin, se instala en C:\Windows\System32 cuando debería haberse colocado en C:\Windows\SysWOW64.
(Suponiendo que está en Windows!)

Para solucionar este problema, todo lo que tiene que hacer es entrar en C:\Windows\System32 y encontrar avbin.dll (o avbin64.dll si usted está en un sistema de 64 bits) y manualmente cortar-y- péguelo en C:\Windows\SysWOW64.

(O si eres yo y descargado ambos archivos DLL luego pasar tanto ...)

2

Descargar el instalador específica de here.

Luego vaya a la carpeta de descargas y ejecútela con sudo.

Por ejemplo en mi caso me corrieron los siguientes:

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

Mi sistema operativo es Windows 10 64bits.

El problema:

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

Cómo fijarla en Windows 10:

  1. Descarga 32bits AVbin.dll de AVbin Downloads
    Tenga en cuenta: La DLL de 64 bits AVbin no funciona aunque estás usando 64bits Win10.
    Por lo tanto, descargue los 32 bits en su lugar.

  2. El .exe de 1. extrae el avbin.dll en la carpeta windows/system32/.
    Cortar/copiar y pegar en la carpeta windows/system/. Parece que windows10 se refiere a solo 32bits AVbin pero no a 64bits.

  3. Estás listo para ir. ¡Pruébalo!