Пигмент Python 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)[email protected]:~/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
Библиотека - это .so, не .dylib, зачем вы хотите загадочный код .dylib? Это Linux, а не Mac (у Mac есть .dylib, Ubuntu есть .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.
Ответы
Ответ 1
Как насчет его установки:
sudo apt-get install libavbin-dev libavbin0
Дополнительная информация об этом пакете: http://packages.ubuntu.com/source/avbin
Изменить: похоже, он больше не включен для более новых версий ubuntu. Поэтому вы должны загрузить его из https://avbin.github.io/AVbin/Download.html и установить его через
sudo sh ./install-avbin-linux-x86-64-v10
Ответ 2
У меня была такая же проблема в Windows, и нет установки для python 2.7 на Windows.
Если вы поместите avbin dll в свою папку (или установите его глобально с помощью установщика), напишите:
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
после импорта пиглета, например:
import pyglet
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
Он будет загружать и использовать avbin с радостью.
Ответ 3
Я пошел супер сайян, ударяя головой о стену и прорвав ее.
Решение состоит в том, чтобы установить выпуск STABLE, а не последний. Все, что ему нужно, немного
:~/Downloads/avbin-linux-x86-64-7$ sudo ./install.sh
И это работает. Я думаю, что они смешиваются со своими установщиками...
Ответ 4
Для меня конкретно это была установка AVbin 7 из здесь.
AVbin 8 и 10 просто казались бегущими, но звука не было.
Запуск 32-битного Ubuntu 12.04.
Ответ 5
У меня была эта проблема в Windows и нашла этот вопрос с помощью поисковой системы, поэтому я решил поделиться своим опытом и решением.
Я попытался загрузить w WMV файл (по крайней мере, это расширение) и получил то же исключение, что и в вопросе, но моя проблема была связана с тем, что я установил pyglet с помощью команды "pip install pyglet", а затем AVBin из установщик.
Для меня проблема заключалась в установке pyglet из установщика, найденного на сайте проекта, в нем есть AVBin, и тогда все работало нормально.
Ответ 6
Для меня мне пришлось вручную переместить dll в нужную папку.
Из-за ошибки в установщике AVBin он устанавливается в C:\Windows\System32
, когда он должен быть помещен в C:\Windows\SysWOW64
.
(Предполагая, что вы находитесь в Windows!)
Чтобы исправить это, все, что вам нужно сделать, это войти в C:\Windows\System32
и найти avbin.dll
(или avbin64.dll
, если вы находитесь на 64-битной системе) и вручную вырезать и вставить его в C:\Windows\SysWOW64
.
(Или, если вы меня и скачали обе библиотеки, переместите оба...)
Ответ 7
Загрузите конкретный установщик из здесь.
Затем перейдите в папку загрузки и запустите ее с помощью sudo.
Например, в моем случае я запустил следующее:
wget https://github.com/downloads/AVbin/AVbin/install-avbin-linux-x86-64-v10
sudo install-avbin-linux-x86-64-v10
Ответ 8
Моя ОС Windows10 64 бит.
Проблема:
pyglet.media.riff.WAVEFormatException: AVbin требуется для декодирования сжатых носителей
Как исправить это на Windows10:
-
Загрузить 32bits AVbin.dll из Загрузка AVbin
Обратите внимание: 64-битная AVbin dll НЕ работает, даже если вы используете 64 бит Win10.
Поэтому, пожалуйста, загрузите 32 бита.
-
.exe из 1. извлекает папку avbin.dll
в windows/system32/
.
Вырежьте/скопируйте его и вставьте в папку windows/system/
.
Он выглядит, что windows10 относится только к 32 битам AVbin, но не к 64 битам.
-
Тебе хорошо идти.
Попробуйте!