Итак, есть ли способ получить разрешение и глубину цвета из строки байтов?

их поисках я обнаружил, что есть несколько библиотек, которые могут сделать это, читая теги ID3. Если так - какой из них лучше всего использовать? Я не планирую писать какие-либо данные только для чтения.

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

Был бы признателен за несколько советов. Благодарю.

Ответы на вопрос(1)

Решение Вопроса

Я бы порекомендовалмутагенЭто чистая библиотека Python без каких-либо других зависимостей, и она поддерживает множество различных форматов / меток аудио-метаданных (MP3, FLAC, M4A, Monkey's Audio, Musepack и т. д.). Чтобы извлечь обложку из MP3 ID3 v2.4, сохраненного в iTunes:

from mutagen import File

file = File('some.mp3') # mutagen can automatically detect format and type of tags
artwork = file.tags['APIC:'].data # access APIC frame and grab the image
with open('image.jpg', 'wb') as img:
   img.write(artwork) # write artwork to new image
 Sheldon30 мая 2011 г., 10:05
Это выглядит действительно хорошо. Спасибо за ответ. Единственная проблема - документация - ее нет! Можете ли вы указать мне правильное направление относительно того, где я могу их найти? Благодарю.
 Sheldon01 июн. 2011 г., 19:58
Я думаю, что сейчас начинаю думать об этом, хотя не могли бы вы привести пример чтения рисунка (изображения) из mp3? Благодарю.
 Sheldon02 июн. 2011 г., 12:55
Итак, есть ли способ получить разрешение и глубину цвета из строки байтов?
 zeekay01 июн. 2011 г., 21:16
file.tags['APIC:'].data содержит изображение из mp3 (как правило), если ваш тег не использует другой кадр для хранения изображения.
 zeekay30 мая 2011 г., 13:05
Исходный код (строки документации / комментарии) и список рассылки Quet libet. Я (странно) даже не учел отсутствие надлежащей документации, когда рекомендовал это. Я использовал его некоторое время, и API достаточно прост, чтобы вы могли разобраться с интроспекцией, возиться с интерактивным интерпретатором.

Ваш ответ на вопрос