Python pyglet AVBin - Как установить AVBin

AVBin используется Pyglet для декодирования MP3. Ссылка:http://avbin.github.com/AVbin/Download.html

установлено с помощью install.sh при условии, что при использовании приводит к ошибке:

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

...Так что он не установлен должным образом? Используя python virtualenv, подозревайте, что это может вызвать проблемы... хотя я управлял AVBin install.sh в virtualenv, как это:

(SoundShenanigans)user@computer:~/Downloads/avbin-linux-x86-64-v8$ sudo bash install.sh 

обновление

Я нашел, где установлен avbin... кажется, установлен в нужном месте =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

обновление 2

библиотека есть .значит, нет .dylib нужна , почему вы хотите .таинственный код dylib нужна? Это Linux не Mac (у Mac есть .dylib, Ubuntu имеет .Итак)

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 ответов


Как насчет установки его по:

sudo apt-get install libavbin-dev libavbin0

дополнительная информация об этом пакете:http://packages.ubuntu.com/source/avbin

Edit: похоже, что он больше не включен для новых версий ubuntu. Так что вам придется скачать ее из https://avbin.github.io/AVbin/Download.html и установить его через

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

у меня была такая же проблема в Windows, и нет установщика для python 2.7 В Windows.

Если вы поместите библиотеку dll avbin в свою папку (или установите ее глобально с помощью установщика), то напишите:

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

после импорта pyglet, вот так:

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

он будет загружать и использовать avbin счастливо.


для меня конкретно это была установка AVbin 7 из здесь.

AVbin 8 и 10, казалось, просто бежали,но не было никакого звука.

под управлением 32-битной Убунту 12.04.


У меня была эта проблема в Windows и нашел этот вопрос через поисковую систему, поэтому я думал, что поделюсь своим опытом и решением.

Я попытался загрузить W WMV-файл (по крайней мере, это расширение) и получил такое же исключение, как описано в вопросе, но моя проблема была связана с тем, что я установил pyglet с помощью команды "pip install pyglet", а затем AVBin из установщика.

что решило проблему для меня, была установка pyglet из установщика, найденного на сайт проекта, он содержит AVBin, и тогда все работало нормально.


для меня мне пришлось вручную переместить dll в правильную папку.
Из-за ошибки в установщике AVBin он устанавливается в C:\Windows\System32, когда он должен был быть помещен в C:\Windows\SysWOW64 .
(если вы находитесь на Windows!)

чтобы исправить это, все, что вам нужно сделать, это зайти в C:\Windows\System32 и avbin.dll (или avbin64.dll если вы находитесь в 64-битной системе) и вручную вырезать и вставить его в C:\Windows\SysWOW64 .

(или если вы меня и загрузили обе библиотеки DLL, то переместите оба...)


загрузите конкретный установщик из здесь.

затем перейдите в папку Загрузки и запустите ее с помощью sudo.

например, в моем случае я запустил следующее:

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

моя ОС Windows10 64 бита.

вопрос:

pyglet.сми.рифф.WAVEFormatException: AVbin требуется для декодирования сжатых носителей

как это исправить на Windows10:

  1. скачать 32bits AVbin.dll от AVbin Загрузки
    обратите внимание: 64bits avbin dll не работает, даже если вы используете 64bits Win10.
    Так Пожалуйста, загрузите 32bits вместо этого.

  2. The .exe из 1. извлекает avbin.dll на windows/system32/ папка.
    Пожалуйста, вырежьте / скопируйте его и вставьте в . Похоже, windows10 относится только к 32bits AVbin, но не к 64bits.

  3. ты можешь идти. Попробуй !