2012-04-24 31 views
18

AVBin được Pyglet sử dụng để giải mã MP3. Link: http://avbin.github.com/AVbin/Download.htmlPyglet python AVBin - Cách cài đặt AVBin

cài đặt sử dụng install.sh cung cấp, khi sử dụng dẫn đến lỗi:

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

... Vì vậy, nó không cài đặt đúng cách? Sử dụng python virtualenv, nghi ngờ điều này có thể gây ra vấn đề ... mặc dù tôi chạy install.sh AVBin trong virtualenv, như thế này:

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

CẬP NHẬT

Tôi đã tìm thấy nơi avbin được cài đặt ... có vẻ như phải được cài đặt ở đúng nơi = 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 

UPDATE 2

thư viện này được .so, không .dylib, tại sao bạn muốn .dylib đang bí ẩn? Đây là Linux không phải Mac (Mac có .dylib, Ubuntu có .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

Tôi thay đổi dòng 53 để đọc .so, vẫn không giúp được. Cài đặt Phiên bản ổn định 7 đã hoạt động ... 8 không ổn định! – xxjjnn

Trả lời

10

gì về cài đặt nó bằng cách:

sudo apt-get install libavbin-dev libavbin0 

Thông tin thêm về gói này: http://packages.ubuntu.com/source/avbin

Edit: Có vẻ như nó không được bao gồm nữa cho các phiên bản Ubuntu mới hơn. Vì vậy, bạn phải tải nó từ https://avbin.github.io/AVbin/Download.html và cài đặt nó qua

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

bất cứ điều gì cho người dùng mac osx? –

+9

Gói này không có sẵn trong 16.04, là pyglet vừa chết? – BruceJohnJennerLawso

4

Tôi đã siêu saiyan đập đầu vào tường và phá vỡ nó.

Giải pháp là cài đặt bản phát hành Ổn định, thay vì phiên bản mới nhất. Tất cả những gì cần là một chút

:~/Downloads/avbin-linux-x86-64-7$ sudo ./install.sh 

Và nó hoạt động. Tôi nghĩ rằng họ có một kết hợp với các trình cài đặt của họ ...

4

Đối với tôi, cụ thể là nó đã cài đặt AVbin 7 từ here.

AVbin 8 và 10 dường như chạy, nhưng không có âm thanh phát ra.

Chạy 32bit Ubuntu 12.04.

2

Tôi gặp sự cố này trên Windows và tìm thấy câu hỏi này thông qua công cụ tìm kiếm vì vậy tôi nghĩ tôi sẽ chia sẻ kinh nghiệm và giải pháp của mình.

Tôi đã thử tải tệp w WMV (ít nhất là phần mở rộng) và có cùng ngoại lệ như được mô tả trong câu hỏi nhưng vấn đề của tôi là do tôi đã cài đặt pyglet bằng lệnh 'pip install pyglet' và sau đó là AVBin từ trình cài đặt.

Điều đã giải quyết được vấn đề đối với tôi là cài đặt pyglet từ trình cài đặt được tìm thấy trên trang dự án, nó chứa AVBin và sau đó mọi thứ hoạt động tốt.

6

tôi đã cùng một vấn đề trên Windows, và không có cài đặt cho python 2.7 trên Windows.

Nếu bạn đặt các dll avbin trong thư mục của bạn (hoặc cài đặt nó trên toàn cầu sử dụng trình cài đặt), sau đó viết:

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

sau khi nhập khẩu pyglet, như thế này:

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

Nó sẽ tải và sử dụng avbin vui vẻ.

2

Đối với tôi, tôi phải di chuyển dll theo cách thủ công vào đúng thư mục.
Do lỗi trong trình cài đặt AVBin, nó sẽ cài đặt trong C:\Windows\System32 khi cần được đặt trong C:\Windows\SysWOW64.
(Giả sử bạn đang trên Windows!)

Để sửa lỗi này, tất cả các bạn phải làm là đi vào C:\Windows\System32 và tìm avbin.dll (hoặc avbin64.dll nếu bạn đang ở trên một hệ thống 64 bit) và bằng tay cut-và- dán nó vào C:\Windows\SysWOW64.

(Hoặc nếu bạn tôi và tải về cả hai dlls sau đó di chuyển cả hai ...)

2

Tải bộ cài đặt cụ thể từ các here.

Sau đó, hãy chuyển đến thư mục tải xuống và chạy nó bằng sudo.

Ví dụ trong trường hợp của tôi, tôi chạy như sau:

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

OS của tôi là Windows 10 64bits.

Vấn đề:

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

Làm thế nào để sửa chữa nó trên Windows 10:

  1. Tải 32bits AVbin.dll từ AVbin Downloads
    Xin lưu ý: Các 64bits AVbin dll KHÔNG làm việc thậm chí bạn đang sử dụng 64bits Win10.
    Vì vậy, hãy tải xuống 32 bit thay thế.

  2. .exe từ 1. chiết xuất avbin.dll vào thư mục windows/system32/.
    Vui lòng cắt/sao chép và dán vào thư mục windows/system/. Có vẻ windows10 chỉ đề cập đến 32 bit AVbin nhưng không phải là 64 bit.

  3. Bạn nên đi. Hãy dùng thử!